Scala MD5相当于这个PHP行

时间:2012-07-05 19:04:57

标签: scala

这个MD5调用有3个参数,“MD5”,字符串,然后是$ transaction_key

hash_hmac("md5", $api_login_id . "^" . $fp_sequence . "^" . $fp_timestamp . "^" . $amount . "^", $transaction_key);

我如何在Scala中重现这一点?我找不到带有“密钥”的MD5功能。

1 个答案:

答案 0 :(得分:8)

这是源自this Java answer的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
}

通过几次快速测试,它为我生成与PHP hash_hmac相同的输出。