5

我是 scala 的新手,我必须将用户密码存储在数据库中的数据中,所以我希望它以加密形式存储。任何人都可以向我介绍如何在 scala 2.10 播放框架 2.2 中进行加密。有没有一种方法可以直接在模型函数中使用加密,就在插入密码查询之前

4

3 回答 3

8

我个人使用 JBCrypt(一个 Java 库)。如果您想使用它,您可以将此行添加到 Build.scala 中的 appDependencies"org.mindrot" % "jbcrypt" % "0.3m"

然后在你的模型中import org.mindrot.jbcrypt.BCrypt

BCrypt.hashpw("password", BCrypt.gensalt(12))将散列“密码”,然后您可以将其绑定到您的用户的 SQL 插入。要检查密码,您将检索哈希并使用BCrypt.checkpw(password, hash)true如果给定密码正确则返回。

于 2013-10-19T14:55:31.553 回答
0

我正在编写 Scala / Akka,并在以下位置找到了讨论和示例 Java 源代码

https://crackstation.net/hashing-security.htm#javasourcecode

非常简单有效。

于 2015-03-27T12:55:23.300 回答
0

play.api.libs.CryptoPlay Framework 中有一个对象: http ://www.playframework.com/documentation/2.1.1/api/scala/index.html#play.api.libs.Crypto$

编辑:正如@Mark Lister 所提议的,你应该明确地看一下JBcrypt。

于 2013-10-19T18:17:20.730 回答