C#MD5哈希与Java MD5

时间:2017-12-02 09:19:11

标签: java c# hash

这是我的java代码。

byte[] bytes = { 0x35, 0x24, 0x76, 0x12 };
  MessageDigest m = MessageDigest.getInstance("MD5");
  byte[] digest = m.digest(bytes);

C#

 byte[] bytes = { 0x35, 0x24, 0x76, 0x12 };
 MD5 md5 = new MD5CryptoServiceProvider();
 byte[] result = md5.ComputeHash(bytes);

我注意到结果字节不同,我是java新手,有人可以解释..谢谢..

结果是

C#

[  58,  74, 139,   3, 244, 223, 176, 230, 227, 252, 130, 221,  54, 159, 112, 239]

java

[  58,  74,-117,   3, -12, -33, -80, -26, -29,  -4,-126, -35,  54, -97, 112, -17]

1 个答案:

答案 0 :(得分:1)

您可以在不同的结果上看到所有正值都相同。只有消极的是不同的。 .net byte type中的You can read it here是无符号的,因此其范围是0到255.在Java中,字节类型的范围是-128到127. {{3}}。