早些年,那会把一个老项目的登录模块重构,从Shiro转Spring Security,那时候快速换完后没多看,最近又在公司做类似同样的操作,给一个老项目加上Spring Security。所以我决定简单写点什么。
相信用过Spring Security的伙伴们,应该对这个BCryptPasswordEncoder 都有好奇。
为啥好奇, 这个家伙的加密方法encode每次生成的密后密码都不一样,但是校验方法matches却能准确地去检验匹配。
不多说,现在一起来看看。
1. 先看encode 这个方法:

不用细看,我们看两个关键信息:
BCrypt.gensalt
BCrypt.hashpw
没错,这个加密算法其实是 强哈希+盐+密钥(默认用密码)。 因为使用到了哈希,所以是不可逆。
这也就能初步明白
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



