C#
MD5加密:
public static string GetMd5Str32(string str)
{
string cl = str;
StringBuilder pwd = new StringBuilder(256);
MD5 md5 = MD5.Create();//实例化一个md5对像
// 加密后是一个字节类型的数组,这里要注意编码UTF8/Unicode等的选择
//byte[] s = md5.ComputeHash(Encoding.UTF8.GetBytes(cl));
byte[] s = md5.ComputeHash(Encoding.ASCII.GetBytes(cl));
// 通过使用循环,将字节类型的数组转换为字符串,此字符串是常规字符格式化所得
for (int i = 0; i < s.Length; i++)
{
// 将得到的字符串使用十六进制类型格式。格式后的字符是小写的字母,如果使用大写(X)则格式后的字符是大写字符
pwd.Append(s[i].ToString("x").PadLeft(2, '0'));
}
return pwd.ToString();
}
java MD5加密:
public static String md5(String source)
{
StringBuffer sb = new StringBuffer(32);
try
{
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] array = md.digest(source.getBytes("utf-8"));
for (int i = 0; i < array.length; i++)
{
sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100)
.toUpperCase().substring(1, 3));
}
} catch (Exception e)
{
return null;
}
return sb.toString().toLowerCase();
}
结果:
字符串:11290012013050911305800000005123456
加密后的字符串为:bed4bb77583dc4783c9e840066c5ef0d