(编程语言界的丐帮 C#).NET MD5 HASH 哈希 加密 与JAVA 互通
一。注意要点
1:输入字符串的的编码双方保持统一,如:UTF8;
2:HASH计算输出结果 byte[] 数组转String 时,编码要统一,如:转16进制小写字符串。当然也可以转Base64。
3:如果是16进制字符串,双方大小写要统一。
二。C#
先看一个常见代码:
public static String Md5Hash(String str)
{
MD5 md = MD5.Create();
byte[] bytes = Encoding.UTF8.GetBytes(str);
byte[] buffer2 = md.ComputeHash(bytes);
string rst = "";
//小写的 x2 是16进制小写。大写 X2 是转16进制大写。
for (int i = 0; i < buffer2.Length; i++)
{
rst = rst + buffer2[i].ToString("x2");
}
return rst;
}
解析:
“MD5 md = MD5.Create();” 获取一个C# MD5对象。
“byte[] bytes = Encoding.UTF8.GetBytes(str);”,将输入字符串用UTF8编码转为byte[] 数组,方便下一步给ComputeHash()方法计算。
“rst = rst &
还没有评论,来说两句吧...