MD5 对具有相同输入的不同值进行哈希处理

MD5 hashes different values with same input

我有以下 Scala 函数:

import java.security.MessageDigest
def md5(s: String) = MessageDigest.getInstance("MD5").digest(s.getBytes).toString()

当我加密同一个字符串时,总是得到不同的结果,这可能是什么问题?输入字符串的末尾没有换行或空格,并且所有字符串的长度都相同。

你想要:

def md5(s: String) = {
    MessageDigest.getInstance("MD5").digest(s.getBytes).map("%02x".format(_)).mkString
}