security的密码加密

测试方法

@SpringBootTest
public class SecurityApplicationTests {

    @Test
    public void contextLoads() {
        /**
         * Spring Security 提供了BCryptPasswordEncoder类,实现Spring的PasswordEncoder接口使用BCrypt强哈希方法来加密密码。
         * BCrypt强哈希方法 每次加密的结果都不一样。
         *
         * BCryptPasswordEncoder方法采用SHA-256 +随机盐+密钥对密码进行加密
         *
         * BCryptPasswordEncoder 是对 bcrypt 强散列方法的具体实现。是基于 Hash 算法实现的单向加密。可以通过 strength 控制加密强度,或默认
         *
         * Spring Security 要求容器中必须有 PasswordEncoder 实例。所以当
         * 自定义登录逻辑时要求必须给容器注入 PaswordEncoder 的 bean 对象
         */
        for (int i = 0; i < 10; i++) {
            //创建解析器
            BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
            //对密码进行加密
            System.out.println(encoder.encode("123"));//同样的明文,每次加密得到的却不一样
        }
    }

}

遍历的10条结果也是不一样

$2a$10$VBo.SkacCxoINQ7Ma47ZYOqmG5BpeLSL8EpRBiRISiCJqNBqdtmOm
$2a$10$11ykltt5KyASS1WEyQacteItSlDvWd2a5j91MfJoV3mQedB4T7nNy
$2a$10$NL7TG6sjZjo31Gxoieg6AuRehTA3GVOL7QxlfuSGFGlCXXS1ce2cW
$2a$10$ACoYCn0noYbK3fxsWQZuGex99FGxPQrW4bv5CcIDwGgG6fnCgrb4K
$2a$10$QKafWcq4J7htqs84WjVIhejKF5DLClcO/scTfZE65RqiviL6dJPTC
$2a$10$SjKM3GyV9w0hMCeuAZUL1uEyr553MguV.y.vtiP32fLV8n9wBOWh6
$2a$10$wmFv0djgt2zc0mQvRJHLJuJ6m22LqpXJtj5E8iJLKfDjBKan8wuP6
$2a$10$X4wfb71Wod6t4LNZlr42.e9cZHiaOs5hdHey8oDPBp/pKNkIwYP/2
$2a$10$LqCUqjrT4nH1tslRskGQU.CrXOj62vDCZacBanYPBLfVv.h1fOZM2
$2a$10$B2wQkGIl68uHy1tXsji/I.f6S.DIT5RdaACAyZT9MNAXDSIy1XtZu

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值