SpringSecurityパスワードmd 5+salt構成


パスワードはmd 5暗号化されsalt値が付いています.
例えばusername:name password:pass saltはusername
明文パスワードはpass{name}括弧の中でsalt対応のusernameであり、明文パスワードを暗号化する
SpringSecurityの構成は次のとおりです.
 <authentication-manager  alias="authenticationManager" >
    <authentication-provider ref="authenticationProvider">  </authentication-provider>
 </authentication-manager>
    
   <beans:bean id="authenticationProvider" class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">  
    <beans:property name="userDetailsService" ref="myUserDetailService" />  
    <beans:property name="passwordEncoder" ref="passwordEncoder"/> 
    <beans:property name="saltSource" ref="saltSource"/> 
  </beans:bean>
  
  <beans:bean id="passwordEncoder"  class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
<beans:bean id="saltSource" class="org.springframework.security.authentication.dao.Reflec tionSaltSource">
    <beans:property name="userPropertyToUse" value="username"/>
</beans:bean>

authenticationProviderの構成にpasswordEncoderとsaltSourceの2つの属性を追加
これで構成は終了です
同時にspringSecurityはMd 5 PasswordEncoderクラスを提供しMD 5暗号化を実現する
Md5PasswordEncoder md5 = new Md5PasswordEncoder(); 
String result = md5.encodePassword("user", "user");
System.out.println(result);

md5.EncodePasswordの2つのパラメータのうち、前はpassword、後はsalt塩値
また、サイトhttp://md5jiami.51240.com/オンライン暗号化機能も提供