2011-11-13 12 views
1

SHA-256と8ビットのランダムな文字をsaltとして使用し、db(登録フォームなど)に保存するStandardPasswordEncoderでパスワードをハッシュするとします。春のセキュリティ:password-encoderとStandardPasswordEncoder

そして、私は

<security:password-encoder hash="sha-256" > 
</security:password-encoder> (for login form) 

でそれを確認し、その後、この最新のは、最初は塩がランダムに生成された塩の8バイトであること方法でそれをコードしていることを知っていますか?そしてたとえそれが同じハッシュを得るためにどのような塩を適用するのかを知っていても?

または、私はトラックから完全に離れていて、SHA-256規格ではすでにハッシュのために厳密に8ビットの塩が生成されていると仮定していますか?

おかげで、

答えて

1

は私が詳細に入るが、より良いorg.springframework.security.authentication.encoding.ShaPasswordEncoderを使用することはありません、それを解決し、

<bean id ="passwordEncoder" class="org.springframework.security.authentication.encoding.ShaPasswordEncoder" > 
<constructor-arg value="256"/> 
<property name="iterations" value="1024"/> 
</bean> 

およびリファレンスセキュリティコンテキストからこのBean :

  <security:password-encoder ref="passwordEncoder"> 
      <security:salt-source user-property="username"/> 
     </security:password-encoder> 
+0

これの欠点は、ShaPasswordEncoderではなく、新しいorg.springframework.security.crypto.password.PasswordEncodの、非推奨PasswordEncoderを実装していることですええ – Phil

関連する問題