请高手帮我解读一下这个MD5加密语法。请看下图,谢谢!

 我来答
生活呀真美好
2011-05-15 · TA获得超过1100个赞
知道小有建树答主
回答量:902
采纳率:0%
帮助的人:783万
展开全部
图形看不清楚,贴个我用过的,有一部分注释,呵呵。

using System.Security.Cryptography;

namespace ...

{

/// <summary>
/// MD5加密解密的通用操作类
/// 说明:java加密后的密码,与此处的对比相同。
/// </summary>
public static class MD5Common
{
/// <summary>
/// 返回指定字符串的Md5
/// </summary>
/// <param name="strInput">指定字符串</param>
/// <returns>返回字符串的Md5</returns>
public static string GetMd5Hash(string strInput)
{
// Create a new instance of the MD5CryptoServiceProvider object.
MD5 md5Hasher = MD5.Create();

// Convert the input string to a byte array and compute the hash.
byte[] btData = md5Hasher.ComputeHash(Encoding.Default.GetBytes(strInput));

// Create a new Stringbuilder to collect the bytes
// and create a string.
StringBuilder sBuilder = new StringBuilder();

// Loop through each byte of the hashed data
// and format each one as a hexadecimal string.
for (int i = 0; i < btData.Length; i++)
{
sBuilder.Append(btData[i].ToString("x2"));
}

// Return the hexadecimal string.
return sBuilder.ToString();
}

/// <summary>
/// 检查一个普通字符串的Md5,与传递的Md5字符串是否相同
/// </summary>
/// <param name="strInput">普通字符串</param>
/// <param name="strHash">Md5字符串</param>
/// <returns>返回是否相同</returns>
public static bool VerifyMd5Hash(string strInput, string strHash)
{
// Hash the input.
string strhashOfInput = GetMd5Hash(strInput);

// Create a StringComparer an comare the hashes.
StringComparer comparer = StringComparer.OrdinalIgnoreCase;

if (0 == comparer.Compare(strhashOfInput, strHash))
{
return true;
}
else
{
return false;
}
}

}

}

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/WYZSC/archive/2011/01/18/6149933.aspx
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式