我想使用Play Framework在Scala中对生成的SHA-1哈希进行base64编码。
这在Scala中适用于我:
val md = java.security.MessageDigest.getInstance("SHA-1");
println(new sun.misc.BASE64Encoder().encode(md.digest("Foo".getBytes)))
但在Play Framework中我使用以下错误:
type encode is not a member of object sun.misc.BASE64Encoder
使用时:
val md = java.security.MessageDigest.getInstance("SHA-1")
val ha = new sun.misc.BASE64Encoder.encode(md.digest(params.get("Foo").getBytes))
如何使用Scala和Play Framework生成SHA-1哈希和base64编码?
你好像忘记了一对括号:
val md = java.security.MessageDigest.getInstance("SHA-1")
val ha = new sun.misc.BASE64Encoder().encode(md.digest(params.get("Foo").getBytes))
这应该会更好。
使用Play api更快更干净:
var signature = play.api.libs.Codecs.sha1(md.digest("Foo".getBytes))
玩2.7(也可能是旧版本)
var signature = play.api.libs.Codecs.sha1("Foo")