- 浏览: 1255051 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
好吧,这种加密机制很复杂,还是看下图比较好了解:
3.1.0版本中新的PasswordEncoder继承关系
而在Spring-Security 3.1.0 版本之后,Spring-security-crypto模块中的password包提供了更给力的加密密码的支持,这个包中也有PasswordEncoder接口,接口定义如下。
Public interface PasswordEncoder{ String encode(String rawPassword); Boolean matches(String rawPassword,String encodedPassword); }
定义了两个方法,encode方法是对方法加密,而match方法是用来验证密码和加密后密码是否一致的,如果一致则返回true。和authentication.encoding包中的PasswordEncoder接口相比,简化了许多。
位于org.springframeword.security.crypto.password包中的
StandardPasswordEncoder类,是PasswordEncoder接口的(唯一)一个实现类,是本文所述加密方法的核心。它采用SHA-256算法,迭代1024次,使用一个密钥(site-wide secret)以及8位随机盐对原密码进行加密。
随机盐确保相同的密码使用多次时,产生的哈希都不同; 密钥应该与密码区别开来存放,加密时使用一个密钥即可;对hash算法迭代执行1024次增强了安全性,使暴力破解变得更困难些。
和上一个版本的PasswordEncoder比较,好处显而易见:盐值不用用户提供,每次随机生成;多重加密————迭代SHA算法+密钥+随机盐来对密码加密,大大增加密码破解难度。
OK,了解了原理我们可以来测试一下:
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.StandardPasswordEncoder; /** * @author XUYI * Spring Security 3.1 PasswordEncoder */ public class EncryptUtil { //从配置文件中获得 private static final String SITE_WIDE_SECRET = "my-secret-key"; private static final PasswordEncoder encoder = new StandardPasswordEncoder( SITE_WIDE_SECRET); public static String encrypt(String rawPassword) { return encoder.encode(rawPassword); } public static boolean match(String rawPassword, String password) { return encoder.matches(rawPassword, password); } public static void main(String[] args) { System.out.println(EncryptUtil.encrypt("每次结果都不一样伐?")); System.out.println(EncryptUtil.encrypt("每次结果都不一样伐?")); System.out.println(EncryptUtil.encrypt("每次结果都不一样伐?")); System.out.println(EncryptUtil.encrypt("每次结果都不一样伐?")); System.out.println(EncryptUtil.encrypt("每次结果都不一样伐?")); //但是把每次结果拿出来进行match,你会发现可以得到true。 } }
- spring-security-crypto-3.1.0.RELEASE.jar (40.1 KB)
- 下载次数: 101
发表评论
-
BoneCP-Spring详细配置
2013-08-03 21:09 1363BoneCP-Spring详细配置 <bean id ... -
spring的事务中程序控制事务成功失败(Transaction marked as rollback)
2013-01-22 15:32 19916A方法之外加有事务管理拦截器,在A方法中做一系列操作,操作 ... -
CXF WebService整合Spring[转载]
2012-11-02 18:52 998转载:http://www.cnblogs.com/hoojo ... -
spring定时任务线程配置(quartz定时器)
2012-06-08 18:40 6154请注意是quartz定时器,不是timetask定时器! ... -
spring的定时器之Quartz
2012-02-24 16:11 2489Quartz是一个强大的企业级任务调度框架,Spring ... -
spring AOP支持文档
2012-02-22 17:56 15446.5 AspectJ切入点语法详解 6.5.1 ... -
Spring3.0中的AOP配置方法
2012-02-22 03:02 1820第一种配置方法:使用@AspectJ标签 在配置文件 ... -
spring中使用查询缓存
2011-12-31 21:01 2974由于使用的是spring3所以一下配置都基于spring3. ... -
spring AOP注释技巧-使用&&和!
2011-12-21 18:09 1448import org.apache.commons.lo ... -
spring3注解方式无法注入servlet和filter
2011-12-10 22:30 6739filter和servlet不受spring管理,所以不能依赖 ... -
spring3整合dwr3
2011-12-06 15:44 48491.web.xml中加入dwr配置如 ... -
spring整合struts2
2011-12-06 15:44 1345首先必须要spring2.5以上版本,其次必须加入strut ... -
详解Spring3基于Annotation的依赖注入实现
2011-12-04 18:28 1050简介: Spring 的依赖配置方式与 Spr ... -
[转]详解Spring3基于Annotation的依赖注入实现
2011-12-04 18:26 1732简介: Spring 的依赖配置方式与 Spring 框 ... -
spring基于注释的aop
2011-10-25 11:05 1055import java.util.Date; impo ... -
spring 1.2与spring 2.0中事务配置区别
2011-10-07 18:16 1083本文章比较了Spring自己带的例子:JPetStore ... -
spring定时任务
2011-08-02 09:32 976http://softlife.iteye.com/blog/ ...
相关推荐
springsecurity3.1.pdf
spring security3.1高级详细开发指南 包含一个简单例子和一个复杂例子
Spring_Security-3.0.1中文官方文档 springsecurity3.1官方手册(英文版)
和spring集成使用的完美权限框架,学习java一定要学会spring_security
spring security3.1 在数据库实现 用户 角色 资源 权限控制,在eclipse+tomcat下测试通过
Spring Security 3.1 随书源代码
这是一个基于spring security3.1的简单验证项目。希望对你有帮助。含有sql脚本。
Spring Security 3.1 +Spring +Servlet+JdbcTemplate 自己找的资料,并开发成功
spring security 3.1 英文版的,对学习比较有帮助
非常完整的spring3及springsecurity3.1源码及jar包 spring3及springsecurity3.1源码及jar包,导入eclipse将各个工程下的jar包分别加入buildpath就可以用了
Spring Security 3.1.pdf
Spring Security3.1高级详细开发指南
Spring Security3.1入门Demo,带JAR包及注释~ 使用的ECLIPSE搭建的项目~
NULL 博文链接:https://chxiaowu.iteye.com/blog/1536141
spring security 3.1
spring-security3.1源码
进行spring security开发引用的spring-security-acl-3.0.2.RELEASE.jar、spring-security-config-3.0.2.RELEASE.jar、spring-security-core-3.0.2.RELEASE.jar、spring-security-taglibs-3.0.2.RELEASE.jar、spring-...
spring-security3.1详细
spring MVC 3.1+spring security3.1+mybaits+ 注解 实现安全机制。jar包没有上传。自己补充