天天看點

C# MD5 與 java MD5 生成的字元串不一緻問題

C# 源碼

C# MD5 與 java MD5 生成的字元串不一緻問題

查了下C#的api ,System.Text.UnicodeEncoding.Unicode.GetBytes(s)用的是utf-16 little-endian編碼方式。

java 源碼

public static String getMD5(String str, String encoding) throws Exception {

MessageDigest md = MessageDigest.getInstance("MD5");

md.update(str.getBytes(encoding));

byte[] result = md.digest();

StringBuffer sb = new StringBuffer();

for (int i = 0; i < result.length; i++) {

int val = result[i] & 0xff;

sb.append(Integer.toHexString(val));

}

return sb.toString();

}

運作結果

4b98b56b759916acc26268f2792a123

4b98b56b759916acc26268f2792a123

版權聲明:本文為CSDN部落客「weixin_33727510」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_33727510/article/details/91551924