[Scala]MD5 ハッシュ値
ScalaでMD5を生成するには…
Javaのライブラリを呼び出して生成することになります。
[scala]import java.security.MessageDigest
val digestedBytes = MessageDigest.getInstance("MD5").digest("arekore".getBytes)
digestedBytes.map("%02x".format(_)).mkString[/scala]
Rubyの場合は
[scala]require 'digest/md5’
Digest::MD5.new.update('arekore’)[/scalaa]
となります。
番外で、ScalaのLiftでは、md5(in: String)というヘルパーがありますが、これはBase64エンコードしてmd5生成しているような感じなので、Rubyでのmd5値とは一致しません。
なので、一致させたい場合は
[scala]def myMd5(in: String): String = md5(in.getBytes).map("%02x".format(_)).mkString[/scala]
とする必要あります。
もう一つ番外で
ScalaのMessageDigestで使えるアルゴリズムの一覧を得るには
[scala]Security.getAlgorithms("MessageDigest")[/scala]
とする