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

首頁 > 編程 > C# > 正文

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

2019-10-29 21:21:00
字體:
來源:轉載
供稿:網友

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簡單驗證(實例代碼)的全部內容了,希望對大家有所幫助,多多支持VEVB武林網~


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳曲县| 凌云县| 宁南县| 泾源县| 运城市| 深州市| 罗城| 雷波县| 南宁市| 武宁县| 临汾市| 水城县| 临城县| 宣城市| 荃湾区| 承德市| 襄汾县| 观塘区| 手游| 新巴尔虎右旗| 兴业县| 冷水江市| 井研县| 白河县| 上思县| 鹤岗市| 石泉县| 临城县| 微山县| 渭南市| 友谊县| 青冈县| 汝城县| 凤庆县| 顺义区| 玉溪市| 湖南省| 绥中县| 卢龙县| 怀来县| 萨嘎县|