0
我需要在md5中編碼一個字符串,然後它將字節轉換爲2個字符的十六進制編碼。PHP等價於JAVA HexUtils.bytesToHex()
我有這個簡短的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中實現這一點。 ENCODING
是UTF-8
我在PHP是什麼
$md5String = md5($clearText);
$hexString = "";
for($i = 0; $i < strlen($md5String); $i++) {
$hexString .= dechex(ord($md5String[$i]));
}
但產量是不同的,所以我覺得我失敗的進制轉換。
那麼這個JAVA代碼片段的正確端口是什麼?