2011-05-13 94 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,是啊,抓到了:) –