9

postgresql で play-framework 2.0 (java web-framework) を使用しています。

  1. 現在、ユーザーのパスワードのどの暗号化タイプが最も一般的ですか? ここ数年でMD5が盛んになってきていることがわかりました。
  2. Userクラス(したがって、postgresql DB)のフィールド「パスワード」の正しいデータ型は何ですか?

ありがとう

4

3 に答える 3

9

パスワードを暗号化するのではなく、ハッシュする必要があります (詳細については、この質問を参照してください)。現在推奨されているアプローチは、 bcryptのような適応ハッシュ アルゴリズムを使用することです。jBcryptは、使用できる堅実な Java 実装です。

DBタイプに関しては、文字列として安全に扱うことができます。

于 2012-08-20T15:47:57.243 に答える
2

jBcrypt を Play フレームワークの内部暗号と一緒に使用しました (ここからアイデアを得ました: https://groups.google.com/forum/?fromgroups#!topic/play-framework/9KIUwWBjudQ[1-25] )

また、ユーザーの登録を追加したときに、パスワードにある程度の複雑さがあることを確認しました (少なくとも 8 マークの最小、大文字、1 つの数字)。など、基本的に名前を付けますか?ただし、セキュリティは暗号化だけではないことを指摘したいと思います。ケーキの半分は、ユーザーが複雑なパスワードを使用することを確認することです:)

于 2012-08-20T16:38:45.183 に答える
0

パスワードをハッシュするには、SHA-x アルゴリズムを使用する必要があります。これは多かれ少なかれ MD5 の代替ハッシュ関数です。

MessageDigest.getInstance("SHA-512").digest(toBytes(toDigest)))

ただし、ハッシュ テーブル攻撃を避けるために、ハッシュする前にパスワードにソルトを追加してください。

DB 列は varchar である必要があります。長さは、使用する SHA アルゴリズムのバージョンによって異なります

ハイ

于 2012-08-20T15:51:57.670 に答える