gpt4 book ai didi

java - .net 和 java 的不同 MD5 哈希值

转载 作者:行者123 更新时间:2023-12-01 19:13:48 25 4
gpt4 key购买 nike

`我想使用 .net 对字符串进行编码并将其传递给 java 程序。我在双方使用相同的程序进行加密和解密。但是java程序和.net程序返回不同的MD5哈希码。

这是我的两个程序的代码:

VB.net

md5Provider = New MD5CryptoServiceProvider()
input = UTF8Encoding.UTF8.GetBytes(sSecurityKey)
oHash = oMd5CryptoServiceProvider.ComputeHash(input)

Java

MessageDigest m;
m = MessageDigest.getInstance("MD5");
byte[] UTF8bytes = key.getBytes("UTF8");
m.update(UTF8bytes,0,UTF8bytes.length);

编辑:使用 vb.net 计算的哈希值是{170,226,106,33,183,52,99,154,17,225,135,139,170,141,116,108}

我在java中得到的m.digest()是{-44、29、-116、-39、-113、0、-78、4、-23、-128、9、-104、-20、-8、66、126}

问题在于 java 中的 m.digest() 和 vb.net 中的 oHash 不同。所以我无法进一步使用 DES 加密。

感谢任何帮助。

最佳答案

您可能想要逐字节比较两种摘要方​​法的输入。这是来自 VB.net 的 input 和来自 Java 的 UTF8bytes。它们很可能会有所不同(例如,可能是 VB.net 的某些编码细节)。另外,您如何比较结果?

关于java - .net 和 java 的不同 MD5 哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7551047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com