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();