mrv*_*hlr 0 .net c# java hash md5
我的练习是administration-backend
从php 移植到.net.
后端与用java编写的应用程序通信.
有些东西与md5-hashes相比,在php和java中md5哈希值相同.
我无法更改java应用程序中的md5哈希码,因为那时超过10k的客户卡无法正常工作.
我的问题是,后端被移植,现在是新后端(.net)和java应用程序之间的通信.
我的.net md5-hash代码返回与java代码不同的哈希.
Java的:
public static String getMD5(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
BigInteger number = new BigInteger(1, messageDigest);
String hashtext = number.toString(16);
// Now we need to zero pad it if you actually want the full 32 chars.
while (hashtext.length() < 32)
hashtext = "0" + hashtext;
return hashtext;
}
catch (NoSuchAlgorithmException e) {
throw new RuntimeException(e);
}
}
Run Code Online (Sandbox Code Playgroud)
和我的.net代码:
public String hashMD5(String wert)
{
byte[] asciiBytes = ASCIIEncoding.UTF8.GetBytes(wert);
byte[] hashedBytes = MD5CryptoServiceProvider.Create().ComputeHash(asciiBytes);
string hashedString = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
return hashedString;
}
Run Code Online (Sandbox Code Playgroud)
我的java代码返回bb27aee4
:
46d5acfcd281bca9f1df7c9e38d50576
Run Code Online (Sandbox Code Playgroud)
和我的.net代码返回:
b767fe33172ec6cbea569810ee6cfc05
Run Code Online (Sandbox Code Playgroud)
我不知道我要做什么......
请提前帮助和感谢.
它不是MD5哈希生成器的问题
MD5哈希bb27aee4
:46d5acfcd281bca9f1df7c9e38d50576
&
MD5哈希BB27AEE4
:b767fe33172ec6cbea569810ee6cfc05
所以基本上在.NET中你生成MD5哈希BB27AEE4
而不是bb27aee4
因此,请检查代码中的错误
祝好运
归档时间: |
|
查看次数: |
795 次 |
最近记录: |