这个MD5调用有3个参数,"MD5",字符串,然后是$ transaction_key
hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);
Run Code Online (Sandbox Code Playgroud)
我将如何在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
}
Run Code Online (Sandbox Code Playgroud)
它hash_hmac通过几个快速测试为我生成与PHP相同的输出.
| 归档时间: |
|
| 查看次数: |
339 次 |
| 最近记录: |