如何在 Scala 和 Play Framework 中对 SHA-1 哈希进行 Base64 编码?

发布于 2024-11-15 08:09:47 字数 609 浏览 1 评论 0原文

我想使用 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 编码?

I would like to base64 encode a generated SHA-1 hash in Scala using Play Framework.

This works for me in Scala:

val md = java.security.MessageDigest.getInstance("SHA-1");
println(new sun.misc.BASE64Encoder().encode(md.digest("Foo".getBytes)))

But in Play Framework I get an error using:

 type encode is not a member of object sun.misc.BASE64Encoder

when using:

val md = java.security.MessageDigest.getInstance("SHA-1")
val ha = new sun.misc.BASE64Encoder.encode(md.digest(params.get("Foo").getBytes))

How can I generate a SHA-1 hash and base64 encode it using Scala and Play Framework?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终难遇 2024-11-22 08:09:47

您似乎忘记了一对括号:

val md = java.security.MessageDigest.getInstance("SHA-1")
val ha = new sun.misc.BASE64Encoder().encode(md.digest(params.get("Foo").getBytes))

那应该效果更好。

You seem to have forgotten a pair of parenthesis:

val md = java.security.MessageDigest.getInstance("SHA-1")
val ha = new sun.misc.BASE64Encoder().encode(md.digest(params.get("Foo").getBytes))

That should work better.

月下伊人醉 2024-11-22 08:09:47

使用 Play api 更快、更干净:

var signature = play.api.libs.Codecs.sha1(md.digest("Foo".getBytes))

Play 2.7(也可能是旧版本)

var signature = play.api.libs.Codecs.sha1("Foo")

Faster and cleaner with Play api :

var signature = play.api.libs.Codecs.sha1(md.digest("Foo".getBytes))

Play 2.7 (possible also older versions)

var signature = play.api.libs.Codecs.sha1("Foo")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文