Jump to content
七龙的秘密基地
Search In
  • More options...
Find results that contain...
Find results in...
  • entries
    4
  • comment
    1
  • views
    2,170

Entries in this blog

SpringSecurity中的强哈希加密算法BCryptPasswordEncoder

当时密码加密我还是停留在盐,第一次用Spring Security的时候,接触到了 BCryptPasswordEncoder  这个加密,当时非常好奇这个算法,因为它每次加密的密码都是不一样的,动态的   拆开发现,两个关键方法 BCrypt.hashpw和BCrypt.gensalt 仔细看能发现这个加密算法是用的强哈希+盐+密钥,默认情况是的密码,因为使用到了哈希,所以是密码是不可逆的,这样就算你密码泄露了别人也不知道密码明文是什么 看gensalt 有没有很熟悉 这个盐和生成的密码前缀是不是有点像,生成了一个带盐的哈希 再看hashpw 里面一大堆代码都是在校验密文 注意看,这里已经开始截取上面生成的哈希盐了 String real_salt = salt.substring(off + 3, off + 25); 最后工序就是解码base64和编码64 然后生成的结果就是我们现在看见的,同一个密码,每一次都不一样的密文  

elstp_gf@foxmail.com

elstp_gf@foxmail.com in Java

×
×
  • Create New...