MD5方法
Posted x666066
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MD5方法相关的知识,希望对你有一定的参考价值。
//计算MD5值的方法 不可逆性
/// <summary>
/// 计算单个字符的MD5方法
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
/// this是扩展的方法 必须定义在static类中
public static string CalcMD5(this string str) { byte[] bytes = System.Text.Encoding.UTF8.GetBytes(str); return CalcMD5(bytes);
/// <summary>
/// 计算byte数组的MD5方法
/// </summary>
/// <param name="bytes"></param>
/// <returns></returns>
private static string CalcMD5(byte[] bytes) { using (MD5 md5 = MD5.Create()) { byte[] computeBytes = md5.ComputeHash(bytes); string result = ""; for (int i = 0; i < computeBytes.Length; i++) { result += computeBytes[i].ToString("X").Length == 1 ? "0" + computeBytes[i].ToString("X") : computeBytes[i].ToString("X"); } return result; } }
/// <summary>
///计算 Stream流的MD5方法
/// </summary>
/// <param name="stream"></param>
/// <returns></returns>
private static string CalcMD5(Stream stream ) { using (MD5 md5 = MD5.Create()) { byte[] computeBytes = md5.ComputeHash(stream); string result = ""; for (int i = 0; i < computeBytes.Length; i++) { result += computeBytes[i].ToString("X").Length == 1 ? "0" + computeBytes[i].ToString("X") : computeBytes[i].ToString("X"); } return result; } }
以上是关于MD5方法的主要内容,如果未能解决你的问题,请参考以下文章