【发布时间】:2018-05-16 07:45:16
【问题描述】:
这是我的 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]
【问题讨论】:
-
对于 Java [58, 74, -117, 3, -12, -33, -80, -26, -29, -4, -126, -35, 54, -97, 112 , -17] 对于 C#
-
它们是一样的 ;o)
-
为了更好地理解,请阅读有关 Java 字节类型docs.oracle.com/javase/tutorial/java/nutsandbolts/…的文档