Java MD5 到 PHP 转换
Java MD5 to PHP conversion
我有JAVA AES加密逻辑
private static byte[] getMD5(String input) {
try {
byte[] bytesOfMessage = input.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
return md.digest(bytesOfMessage);
} catch (Exception e) {
}
return null;
}
这个函数的 php 等价物是什么?
我在 php 中使用了 md5($string) 但两种情况下的输出都不同。
在您发布的代码中,您获得了 md5 哈希的字节数组。 PHP 的 md5() 函数 returns 十六进制的 md5 散列。
所以,如果你想在 java 中获取 md5 哈希作为字符串,你可以这样:
private static String getMD5(String input) {
try {
byte[] bytesOfMessage = input.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
// byte array of md5 hash
byte[] md5 = md.digest(bytesOfMessage);
// we convert bytes to hex as php's md5() would do
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < md5.length; i++) {
stringBuffer.append(Integer.toString((md5[i] & 0xff) + 0x100, 16).substring(1));
}
return stringBuffer.toString();
} catch (Exception e) {
}
return null;
}
从 PHP 开始,您可以通过 md5('some string', true)
获取行 md5 二进制文件。请参阅 md5() 有关它的功能文档。
要获取字节数组,您可以执行 unpack('c*', md5('some string',true))
。有关详细信息,请参阅 unpack() function and the possible formats。
我有JAVA AES加密逻辑
private static byte[] getMD5(String input) {
try {
byte[] bytesOfMessage = input.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
return md.digest(bytesOfMessage);
} catch (Exception e) {
}
return null;
}
这个函数的 php 等价物是什么? 我在 php 中使用了 md5($string) 但两种情况下的输出都不同。
在您发布的代码中,您获得了 md5 哈希的字节数组。 PHP 的 md5() 函数 returns 十六进制的 md5 散列。
所以,如果你想在 java 中获取 md5 哈希作为字符串,你可以这样:
private static String getMD5(String input) {
try {
byte[] bytesOfMessage = input.getBytes("UTF-8");
MessageDigest md = MessageDigest.getInstance("MD5");
// byte array of md5 hash
byte[] md5 = md.digest(bytesOfMessage);
// we convert bytes to hex as php's md5() would do
StringBuffer stringBuffer = new StringBuffer();
for (int i = 0; i < md5.length; i++) {
stringBuffer.append(Integer.toString((md5[i] & 0xff) + 0x100, 16).substring(1));
}
return stringBuffer.toString();
} catch (Exception e) {
}
return null;
}
从 PHP 开始,您可以通过 md5('some string', true)
获取行 md5 二进制文件。请参阅 md5() 有关它的功能文档。
要获取字节数组,您可以执行 unpack('c*', md5('some string',true))
。有关详细信息,请参阅 unpack() function and the possible formats。