web-dev-qa-db-ja.com

Play Frameworkでパスワードをハッシュする方法(おそらくBCryptを使用)

フレームワークとパスワードのハッシュをプレイするのは少し新しいです。パスワードをハッシュするためのいくつかの解決策を見つけようとしましたが、BCryptを見つけました。パスワードをハッシュするのに十分だと思いますか。そして、それが良ければ、どうすればそれをPlay Frameworkで機能させることができますか? (私はplay 2.1.3を使用しています)ありがとう!

25
Tigi1991

これは、BCryptを使用してパスワードをハッシュするPlay Javaプロジェクトのサンプルです。newUser()およびsignIn()アクションを参照してください。

https://github.com/jroper/play-demo-twitbookplus/blob/master/app/controllers/UserController.Java

Scalaでも同様のことができます。要約すると、Build.scalaの依存関係にjbycrptを追加します。

val appDependencies = Seq(
  "org.mindrot" % "jbcrypt" % "0.3m"
)

次に、これを使用してパスワードをハッシュします。

String passwordHash = BCrypt.hashpw(password, BCrypt.gensalt());

そして、これを使用してパスワードを確認します。

BCrypt.checkpw(password, passwordHash)
45
James Roper

BCryptはパスワードのハッシュに適しています。 Silhouette を使用し、パスワードプラグインに BCrypt password hasher を使用します。

7
Will Sargent

このプロジェクトは素晴らしいscala jbcryptのラッパー https://github.com/t3hnar/scala-bcrypt -過去に使用したことがあり、うまく機能します。

5
foomip