1

私が理解しているように、JBoss 4.0.5の場合、パスワード暗号化は主にserver/.../conf/login-config.xmlで設定されます。

   <authentication>
      <login-module code = "org.jboss.security.ClientLoginModule" flag = "required">
         <module-option name = "password-stacking">useFirstPass</module-option>
         <module-option name = "multi-threaded">true</module-option>
         <module-option name = "ignorePasswordCase">false</module-option>
         <module-option name = "hashAlgorithm">md5</module-option>
         <module-option name = "hashEncoding">hex</module-option>
         <module-option name = "hashCharset">UTF-8</module-option>
      </login-module>
   </authentication>

md5よりも強力なものを構成することは可能ですか?もしそうなら、どのように?

4

2 に答える 2

0

よりも優れたセキュリティが必要な場合は、hashAlgorithmをに変更できます。詳細については、この投稿を参照してください(具体的にはセクション8.5.3.2。パスワードハッシュ。SHAMD5

アップデート

リンク先のサイトから

パスワードのハッシュに使用するjava.security.MessageDigestアルゴリズムの名前。デフォルトはないため、ハッシュを有効にするにはこのオプションを指定する必要があります。一般的な値はMD5とSHAです。

java.security.MessageDigestクラスを確認すると、次の情報を提供できるようです。

  • MD5
  • SHA-1
  • SHA-256
于 2012-07-20T16:18:32.917 に答える
0

OK、私は究極の答えを見つけたようです。例を拡張org.jboss.security.auth.spi.UsernamePasswordLoginModuleしてオーバーライド

protected String createPasswordHash(String,String,String)

作成してハッシュを返すために好きなアルゴリズムを使用します。メソッドの2番目のパラメーターは、ハッシュされるパスワードです。

次に、クラスを構成に設定します(例:login-config.xml)。構成(login-config.xmlなど)でも、アルゴリズムを指定する必要があることに注意してください。私はちょうど入れました

<module-option name = "hashAlgorithm">FOO</module-option>

そこの。

重要な注意:パスワードが有効かどうかを判断するには、パスワードをハッシュして、以前にハッシュしたパスワードと比較します。これは、独自のチェックメソッドが付属しているbcryptのようなアルゴリズムでは機能しません。これは、通常、同じ入力に対する各ハッシュが異なるソルトを作成し、したがって異なるハッシュを作成するためです。login()これらのアルゴリズムでは、メソッドをオーバーライドする必要があります。

于 2012-07-26T13:22:23.720 に答える