gpt4 book ai didi

Java md5,PHP 方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:59:27 27 4
gpt4 key购买 nike

我已经为此工作了几个小时,但我无法让它工作。

基本上,我正在为 PHP 中的 REST 服务器开发 Java 中的 REST 客户端。客户端和服务器都必须计算字符串的 md5,服务器将比较它们以进行身份​​验证(有点)。

在服务器上,PHP代码是:

md5("getTokenapi_keybf8ddfs845jhre980543jhsjfro93fd8capi_ver1tokeniud9ER£jdfff");

生成:

4d7b2e42c3dfd11de3e77b9fe2211b87

很好!

这是客户端的代码:

import java.security.*;
....
String s = "getTokenapi_keybf8ddfs845jhre980543jhsjfro93fd8capi_ver1tokeniud9ER£jdfff";
byte[] bytesOfMessage = s.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] thedigest = md.digest(bytesOfMessage);

System.out.println("String2: " + thedigest);
System.out.println("String3: " + new String(thedigest));

生成:

String2: [B@42e816
String3: M{.B�����{��!�

请问如何让 Java 像 PHP 一样计算 md5 和?

谢谢,丹

最佳答案

试一试:

public static String md5(String input) throws NoSuchAlgorithmException {
String result = input;
if(input != null) {
MessageDigest md = MessageDigest.getInstance("MD5"); //or "SHA-1"
md.update(input.getBytes());
BigInteger hash = new BigInteger(1, md.digest());
result = hash.toString(16);
while(result.length() < 32) { //40 for SHA-1
result = "0" + result;
}
}
return result;
}

代码来自 http://web.archive.org/web/20140209230440/http://www.sergiy.ca/how-to-make-java-md5-and-sha-1-hashes-compatible-with-php-or-mysql/

关于Java md5,PHP 方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4183646/

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