这个 MD5 调用有 3 个参数,“MD5”,字符串,然后是 $transaction_key
hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);
我将如何在 Scala 中重现它?我找不到需要“密钥”的 MD5 函数。
这个 MD5 调用有 3 个参数,“MD5”,字符串,然后是 $transaction_key
hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);
我将如何在 Scala 中重现它?我找不到需要“密钥”的 MD5 函数。
这是从这个 Java 答案派生的 Scala 版本:
def encode(message: String, key: String) = {
val mac = javax.crypto.Mac.getInstance("HmacMD5")
mac.init(new javax.crypto.spec.SecretKeySpec(key.getBytes, "HmacMD5"))
mac.doFinal(message.getBytes).map("%02x".format(_)).mkString
}
hash_hmac
在几个快速测试中,它为我产生了与 PHP 相同的输出。