WebプロジェクトをSpringに変換しようとしています。私はすでにSpringSecurityを組み込んでいますが、古いプロジェクトでは、ユーザーパスワードを暗号化するために16進文字列に変換されたSHA-1を使用していました。
パスワードを暗号化する方法を正確に指定できるカスタムパスワードエンコーダーを作成するにはどうすればよいか疑問に思いました。
WebプロジェクトをSpringに変換しようとしています。私はすでにSpringSecurityを組み込んでいますが、古いプロジェクトでは、ユーザーパスワードを暗号化するために16進文字列に変換されたSHA-1を使用していました。
パスワードを暗号化する方法を正確に指定できるカスタムパスワードエンコーダーを作成するにはどうすればよいか疑問に思いました。
これを直接使用できます。コンストラクターの引数はSHAエンコーダーの強みです
<beans:bean id="passwordEncoder"
class="org.springframework.security.authentication.encoding.ShaPasswordEncoder">
<beans:constructor-arg index="0" value="1" />
</beans:bean>
もちろん、セキュリティの名前空間構成を使用すると非常に簡単なので、カスタムエンコーダはおそらく必要ありません<password-encoder>
。
<password-encoder hash="sha" base64="true" />
この行をsecurity-context.xmlに入れるShaPasswordEncoder
と、SHA-1アルゴリズムとBASE64エンコーディングが有効になっている状態で使用されます。