日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Spring Acegi 各種加密方式詳解

 昵稱4619459 2011-05-02
第五種:使用哈希算法加密,加密強度為256

Java代碼
  1. <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
  2. <property name="userDetailsService" ref="userDetailsService" />
  3. <property name="passwordEncoder">
  4. <bean class="org.acegisecurity.providers.encoding.ShaPasswordEncoder">
  5. <constructor-arg value="256" />
  6. <property name="encodeHashAsBase64" value="false" />
  7. </bean>
  8. </property>
  9. </bean>
第六種:使用哈希算法加密,加密強度為SHA-256

Java代碼
  1. <bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
  2. <property name="userDetailsService" ref="userDetailsService" />
  3. <property name="passwordEncoder">
  4. <bean class="org.acegisecurity.providers.encoding.ShaPasswordEncoder">
  5. <constructor-arg value="SHA-256" />
  6. <property name="encodeHashAsBase64" value="false" />
  7. </bean>
  8. </property>
  9. </bean>
上述配置只是在Acegi通過表單提交的用戶認證信息中的密碼做各種加密操作。而我們存儲用戶密碼的時候,可以通過一下程序完成用戶密碼操作:

Java代碼
  1. package com.brofe.acegi;
  2. import org.acegisecurity.providers.encoding.Md5PasswordEncoder;
  3. import org.acegisecurity.providers.encoding.ShaPasswordEncoder;
  4. public class TestPasswordEncoder {
  5. public static void main(String[] args) throws Exception {
  6. md5(); // 使用簡單的MD5加密方式
  7. sha_256(); // 使用256的哈希算法(SHA)加密
  8. sha_SHA_256(); // 使用SHA-256的哈希算法(SHA)加密
  9. md5_SystemWideSaltSource(); // 使用MD5再加全局加密鹽加密的方式加密
  10. }
  11. public static void md5() {
  12. Md5PasswordEncoder md5 new Md5PasswordEncoder();
  13. // false 表示:生成32位的Hex版, 這也是encodeHashAsBase64的, Acegi 默認配置; true 表示:生成24位的Base64版
  14. md5.setEncodeHashAsBase64(false);
  15. String pwd md5.encodePassword("123"null);
  16. System.out.println("MD5: " pwd len=" pwd.length());
  17. }
  18. public static void sha_256() {
  19. ShaPasswordEncoder sha new ShaPasswordEncoder(256);
  20. sha.setEncodeHashAsBase64(false);
  21. String pwd sha.encodePassword("123"null);
  22. System.out.println("哈希算法 256: " pwd len=" pwd.length());
  23. }
  24. public static void sha_SHA_256() {
  25. ShaPasswordEncoder sha new ShaPasswordEncoder();
  26. sha.setEncodeHashAsBase64(false);
  27. String pwd sha.encodePassword("123"null);
  28. System.out.println("哈希算法 SHA-256: " pwd len=" pwd.length());
  29. }
  30. public static void md5_SystemWideSaltSource () {
  31. Md5PasswordEncoder md5 new Md5PasswordEncoder();
  32. md5.setEncodeHashAsBase64(false);
  33. // 使用動態(tài)加密鹽的只需要在注冊用戶的時候?qū)⒌诙€參數(shù)換成用戶名即可
  34. String pwd md5.encodePassword("123""acegisalt");
  35. System.out.println("MD5 SystemWideSaltSource: " pwd len=" pwd.length());
  36. }
  37. }

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多