锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

利用Spring的工具类使用MD5加密

时间:2023-12-21 00:37:07 e14lpa5连接器

关于Spring中MD5.使用加密工具

MD三种加密形式

1. 普通的md5进行加密 2. md5 salt(盐)形式加密 3. 密码加密 

如何在实际开发中使用?MD5

产生相同的字符串md5是一样的,但为了保证密码等隐私在项目使用中的安全,我们通常使用它md5 盐或密码加密的形式 
具体使用

1.通过spring中工具产生的无盐md5

import org.springframework.util.DigestUtils;  String pws = DigestUtils.md5DigestAsHex("abd".getBytes());  System.out.println(pws); //4911e516e5aa21d327512e0c8b197616 

2.通过spring中工具产生的加盐md5
每次产生的密码可以通过加盐的形式不同

 // 手动加盐 salt         String s = RandomStringUtils.randomAlphanumeric(10);         String pw = "123" s;         String s1 = DigestUtils.md5DigestAsHex(pw.getBytes());         System.out.println(s1);          // 1.caf48c8d204092e86a290f3f4ad8fcf6 2.8e14ee50f31636231fe59002da0ec648 

3.通过spring中国工具类加密密码

import com.heima.utils.common.BCrypt; String gensalt = BCrypt.gensalt();//这是盐 随机生成29个字符 System.out.println(gensalt); //1.$2a$10$Pi.o0Qs2v3tcCsHkD9Kgb. 2.$2a$10$Q3Og2gyFbdfWvStJTfCdtu //密码是123456 String password = BCrypt.hashpw("123456", gensalt);  //根据盐对密码进行加密
System.out.println(password);//加密后的字符串前29位就是盐 //$2a$10$Pi.o0Qs2v3tcCsHkD9Kgb.AYaNt/yg6Y8KsAsz79s1KrUwhh8w/0u 2.$2a$10$Q3Og2gyFbdfWvStJTfCdtuOc572y/TlXFvzWiVcYRJJfnpQ5W23L.

4.校验密码的正确性

 /** * plaintext: 自己输入的密码 * hashed: 通过密码加密产生的密文 * 通过为true,不通过为false */
        boolean checkpw = BCrypt.checkpw("123456",     "$2a$10$abRa2gRztbu9dPKBY/nBXOTUP7i0gmzz6qLmiuIYb2LHUU2CsofXa");
        System.out.println(checkpw); //true
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章