密码加密 算法 杂烩

之前某网站密码明文的就存了.. 很是BS, 相当的不负责啊. 码农们随便encoding一下就少了多少损失啊..

此前一直对这部分感兴趣, 一是不太懂的时候对这个感觉比较神奇. 二是有个用123456的md5值随便百度一下.... 又明文了.

之前用过spring security, 里面的 sha-256的加密算法. 里面可以传一个salt, 把用户名做过salt 还有一个salt 用的是一个加密过再base64的应用名字, 也是256字节的很长一串.
用起来就效果不错. 看着特别迷糊. 也是当时 spring security 里比较复杂的加密算法了.

今天看spring-security 3.1.RELEASE 里多了个 crypto 的 jar, 里面专门做加密的. 而且不需要且不支持salt. 看看里面的代码, 发现有如下一段

/**
* Implementation of PasswordEncoder that uses the BCrypt strong hashing function. Clients can optionally supply a
* "strength" (a.k.a. log rounds in BCrypt) and a SecureRandom instance. The larger the strength parameter the more work
* will have to be done (exponentially) to hash the passwords. The default value is 10.
*
* @author Dave Syer
*
*/
public class BCryptPasswordEncoder implements PasswordEncoder {



解码用的这个类 : org.springframework.security.crypto.bcrypt.BCrypt.

很是神奇啊.. 具体的算法不懂. 先发出来, 以后有时间再研究
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值