Java C# MD5 加密串一致性
Java
- public final static String md5(String s) {
- char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- 'a', 'b', 'c', 'd', 'e', 'f' };
- try {
- byte[] strTemp = s.getBytes();
- MessageDigest mdTemp = MessageDigest.getInstance("MD5");
- mdTemp.update(strTemp);
- byte[] md = mdTemp.digest();
- int j = md.length;
- char str[] = new char[j * 2];
- int k = 0;
- for (int i = 0; i < j; i++) {
- byte byte0 = md[i];
- str[k++] = hexDigits[byte0 >>> 4 & 0xf];
- str[k++] = hexDigits[byte0 & 0xf];
- }
- return new String(str);
- } catch (Exception e) {
- e.printStackTrace();
- return null;
- }
- }
C#
- //str 需要加密的字符串
- public static String MD5(String str)
- {
- byte[] result = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(Encoding.UTF8.GetBytes(str));
- StringBuilder output = new StringBuilder(16);
- for (int i = 0; i < result.Length; i++)
- {
- // convert from hexa-decimal to character
- output.Append((result[i]).ToString("x2", System.Globalization.CultureInfo.InvariantCulture));
- }
- return output.ToString();
- }