国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#與Java的MD5簡單驗證(實例代碼)

2020-01-24 00:59:08
字體:
來源:轉載
供稿:網友

C#端

using System;using System.IO;using System.Security.Cryptography;namespace 計算文件的MD5值{  class MD5_Helper  {    /// <summary>    /// 文件MD5校驗    /// </summary>    /// <param name="pathName">文件絕對路徑</param>    /// <returns>MD5校驗碼</returns>    public string getMD5Hash(string pathName)    {      string strResult = "";      string strHashData = "";      byte[] arrbytHashValue;      FileStream oFileStream = null;      MD5CryptoServiceProvider oMD5Hasher =            new MD5CryptoServiceProvider();      try      {        oFileStream = new FileStream(pathName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);        arrbytHashValue = oMD5Hasher.ComputeHash(oFileStream);//計算指定Stream 對象的哈希值        oFileStream.Close();        //由以連字符分隔的十六進制對構成的String,其中每一對表示value 中對應的元素;例如“F-2C-4A”        strHashData = BitConverter.ToString(arrbytHashValue);        //替換-        strHashData = strHashData.Replace("-", "");        strResult = strHashData;      }      catch (System.Exception ex)      {      }      return strResult;    }    /// <summary>    /// 字節數組校驗    /// </summary>    /// <param name="buffer">待字節數組</param>    /// <returns>MD5校驗碼</returns>    public string getMD5Hash(byte[] buffer)    {      string strResult = "";      string strHashData = "";      byte[] arrbytHashValue;      MD5CryptoServiceProvider oMD5Hasher =            new MD5CryptoServiceProvider();      try      {        arrbytHashValue = oMD5Hasher.ComputeHash(buffer);//計算指定Stream 對象的哈希值        //由以連字符分隔的十六進制對構成的String,其中每一對表示value 中對應的元素;例如“F-2C-4A”        strHashData = BitConverter.ToString(arrbytHashValue);        //替換-        strHashData = strHashData.Replace("-", "");        strResult = strHashData;      }      catch(System.Exception ex)      {      }      return strResult;    }  }}

Java端

package com;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStream;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Util {	/**	 * 默認的密碼字符串組合,用來將字節轉換成 16 進制表示的字符,apache校驗下載的文件的正確性用的就是默認的這個組合	 */	protected static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6','7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };	protected static MessageDigest messagedigest = null;	static {		try {			messagedigest = MessageDigest.getInstance("MD5");		} catch (NoSuchAlgorithmException e) {			e.printStackTrace();		}	}	public static void main(String[] args) throws IOException {		byte[] buffer= "HelloWorld".getBytes();//字節數組校驗		String md55 = getFileMD5String(buffer);		System.out.println("md55:" + md55);	}		public static String getFileMD5String(File file) throws IOException {		InputStream fis;		fis = new FileInputStream(file);		byte[] buffer = new byte[1024];		int numRead = 0;		while ((numRead = fis.read(buffer)) > 0) {			messagedigest.update(buffer, 0, numRead);		}		fis.close();		return bufferToHex(messagedigest.digest());	}		public static String getFileMD5String(byte[] buffer) throws IOException {			messagedigest.update(buffer, 0, buffer.length);		return bufferToHex(messagedigest.digest());	}	private static String bufferToHex(byte bytes[]) {		return bufferToHex(bytes, 0, bytes.length);	}	private static String bufferToHex(byte bytes[], int m, int n) {		StringBuffer stringbuffer = new StringBuffer(2 * n);		int k = m + n;		for (int l = m; l < k; l++) {			appendHexPair(bytes[l], stringbuffer);		}		return stringbuffer.toString();	}	private static void appendHexPair(byte bt, StringBuffer stringbuffer) {		char c0 = hexDigits[(bt & 0xf0) >> 4];// 取字節中高 4 位的數字轉換		// 為邏輯右移,將符號位一起右移,此處未發現兩種符號有何不同		char c1 = hexDigits[bt & 0xf];// 取字節中低 4 位的數字轉換		stringbuffer.append(c0);		stringbuffer.append(c1);	}} 

以上就是小編為大家帶來的C#與Java的MD5簡單驗證(實例代碼)的全部內容了,希望對大家有所幫助,多多支持武林網~

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长岭县| 桃园市| 武宣县| 拜城县| 五指山市| 白河县| 莱芜市| 武定县| 尚义县| 东明县| 庆元县| 林口县| 闻喜县| 永登县| 新干县| 维西| 蓬安县| 沭阳县| 昌图县| 大理市| 手游| 兴国县| 合川市| 彰化县| 新和县| 淮安市| 海南省| 汶上县| 凤山县| 红原县| 九寨沟县| 西吉县| 新乐市| 五家渠市| 虎林市| 德江县| 富宁县| 连山| 义乌市| 许昌市| 岳阳市|