4

特定のパスワードが群衆 cwd_user テーブルに保存されているパスワードと一致するかどうかを確認できるコードが必要です。

その表のパスワードは「{PKCS5S2}...」で始まり、以下のリンクで群集が PBKDF2 アルゴリズムを使用していることがわかりました。

デフォルトは "Atlassian Security" です。これは現在、Bouncy Castle の PKCS 5 バージョン 2 (別名 PBKDF2) の実装のダム ラッパーであり、ランダムな 16 バイトのソルト、10,000 回の反復を使用し、最終的に 256 ビットのハッシュを生成します。出力

https://answers.atlassian.com/questions/235858/password-security

そのパスワードを照合するために使用できる方法を誰かに教えてもらえますか?

たとえば、パスワード「1234」でユーザー「toto」を作成すると、データベースに次の行が表示されます。

user_name     credential                                                                
------------- ------------------------------------------------------------------------- 
toto          {PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n 

次のような方法が必要です。

public String getHash(String rowPassword){
    // ?????
}

どこ

getHash("1234") returns "{PKCS5S2}m+u8ed1RKRew3jjHPilZw0ICL6BG/qyeN+kVRRS9nsO+VK7Q5I0vCK3gLvCFWC3n" 
4

1 に答える 1

4

Crowd のお客様は、AtlassianSecurityPasswordEncoderまさにそのクラスにアクセスできます。

基礎となるエンコーダーは、渡されたソルトを無視してランダムなソルトを選択するため、encodePassword毎回同じハッシュは得られません。isPasswordValidパスワードとハッシュが一致することを確認するために使用します。

于 2014-10-03T14:38:56.130 に答える