gpt4 book ai didi

java - PHP 相当于 JAVA HexUtils.bytesToHex()

转载 作者:行者123 更新时间:2023-12-02 07:07:26 24 4
gpt4 key购买 nike

我需要用 md5 对字符串进行编码,然后将其字节转换为 2 个字符的十六进制编码。

我有这个简短的 JAVA 片段,需要将其转换为 PHP。

  // Condensed the message and do MD5
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] data = cleartext.getBytes(ENCODING);
md.update(data);
byte[] digestedByteArray = md.digest();
// Convert digested bytes to 2 chars Hex Encoding
md5String = HexUtils.bytesToHex(digestedByteArray);

} catch (NoSuchAlgorithmException ns) {
ns.printStackTrace();
} catch (UnsupportedEncodingException ex) {
ex.printStackTrace();
}

我不太确定如何在 PHP 中实现这一点。 ENCODINGUTF-8

我在 PHP 中拥有的是

$md5String = md5($clearText);
$hexString = "";

for($i = 0; $i < strlen($md5String); $i++) {
$hexString .= dechex(ord($md5String[$i]));
}

但是输出不同,所以我认为我在十六进制转换上失败了。

那么这个 JAVA 代码片段到 PHP 的正确端口是什么?

最佳答案

md5的输出已经是十六进制编码的字符串,因此您无需执行任何其他操作(只要您不将可选的第二个参数设置为 true)。

$hexString = md5($clearText);

关于java - PHP 相当于 JAVA HexUtils.bytesToHex(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923088/

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