2011-05-13 56 views
32

thể trùng lặp:
Generate MD5 hash in JavaĐang tính toán băm MD5 của một chuỗi trong scala

Hi,

Tôi muốn tính toán băm MD5 của một chuỗi trong mã scala của tôi . Có bất kỳ thư viện scala hoặc java nào mà tôi có thể sử dụng để thực hiện điều này một cách nhanh chóng, ngoài cách java.security.MessageDigest thông thường không?

Xin vui lòng giúp Cảm ơn

+6

Tại sao bạn không thể sử dụng java.security.MessageDigest? Chỉ cần bọc nó trong một chức năng tĩnh công cộng để làm cho ít lộn xộn trong Scala? –

+2

Lý do bạn không muốn sử dụng 'MessageDigest' là gì? –

+1

'net.liftweb.util.Helpers.md5 (str)' - tất nhiên nó chỉ có ý nghĩa khi bạn đã sử dụng liftweb ở đâu đó… – Debilski

Trả lời

68

Bạn có thể được tái phát minh một bánh xe rất nhỏ ở đây, nhưng chỉ cần viết một chức năng để làm những gì bạn muốn: lấy một chuỗi, sử dụng MessageDigest, và trở về bất cứ điều gì (hex chuỗi, mảng byte) bạn cần.

import java.security.MessageDigest 

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

md5("Hello") 

P.S. Tôi không viết Scala, nhưng nó hoạt động và nó được để lại như một bài tập để người đọc biến nó thành bất kỳ thứ gì khác ngoài một Array [Byte]

+0

@John:' .getInstance ("SHA") '? – Nick

+2

'Chuỗi mới (md5 (" Xin chào "))' – Debilski

+0

@Nick, vâng, bắt được :) –

Các vấn đề liên quan