2011-05-13 62 views
32

可能重复:
Generate MD5 hash in Java计算字符串的MD5散列阶

嗨,

我要计算一个字符串的MD5哈希在我的Scala代码。除了常规的java.security.MessageDigest方法之外,有没有可用于快速执行此操作的scala或java库?

请帮助 感谢

+6

为什么不能使用java.security.MessageDigest?只需将其包装在一个公共静态函数中,以减少Scala中的混乱情况? –

+2

你不想使用'MessageDigest'的原因是什么? –

+1

'net.liftweb.util.Helpers.md5(str)' - 当然它只有当你已经在某处使用liftweb时才有意义... – Debilski

回答

68

您可以在这里重塑一个非常小轮,但只写一个函数来完成你想要什么:一个字符串,使用消息摘要,并返回任何(十六进制字符串,字节数组)你需要。

import java.security.MessageDigest 

def md5(s: String) = { 
    MessageDigest.getInstance("MD5").digest(s.getBytes) 
} 

md5("Hello") 

P.S.我不写Scala,但是它可以工作,它只是一个练习,可以让读者将它变成除了数组以外的任何东西[字节]

+0

@John:'.getInstance “SHA”)'? – Nick

+2

'new String(md5(“Hello”))' – Debilski

+0

@Nick,是啊,抓到了:) –