1: MD5加密-依赖 spring-core
import org.springframework.util.DigestUtils; import java.nio.charset.StandardCharsets; DigestUtils.md5Digest("ass".getBytes(StandardCharsets.UTF_8)); // 加密 DigestUtils.md5DigestAsHex("ass".getBytes(StandardCharsets.UTF_8)); // 验证
2:Spring-security加密 依赖spring-boot-starter-security
1. XXXXX
// 1. 在启动类中添加bean
@Bean public BCryptPasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); }
// 在某个业务中注入才能使用
@Autowired
private BCryptPasswordEncoder passwordEncoder;
2. 直接在业务逻辑中new 实例
BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();
k1是明文密码,k2为加密过的密码,返回true或false
passwordEncoder.matches(k1,k2);
没什么好说的 传入明文密码,返回加密后密码
passwordEncoder.encode(password);
3:BASE64Encoder加密字符串、图片
String s = "123456789"; // 字符串 String p1 = new BASE64Encoder().encode(s.getBytes()); // 加密 System.out.println(p1); BASE64Decoder decoder = new BASE64Decoder(); byte[] bytes = decoder.decodeBuffer(p1); System.out.println(new String(bytes)); // 解密
// 图片64位加密
String imagPath = "C:\\Users\\225907\\Desktop\\远古人类.jpg"; InputStream inputStream = new FileInputStream(new File(imagPath)); byte[] data = new byte[inputStream.available()]; inputStream.read(data); inputStream.close(); BASE64Encoder encoder = new BASE64Encoder(); return encoder.encode(data);
// 解密base64加密图片,输出图片
BASE64Decoder decoder = new BASE64Decoder(); String newFilePath = "C:\\Users\\225907\\Desktop\\新远古人类.jpg"; byte[] bytes = decoder.decodeBuffer(s); OutputStream outputStream = new FileOutputStream(new File(newFilePath)); outputStream.write(bytes); outputStream.flush(); outputStream.close();