package com.cl.util; import org.apache.commons.codec.digest.DigestUtils; import org.mindrot.jbcrypt.BCrypt; public class BCryptPasswordEncoder { // 加密密码(自动生成盐值) public static String encode(String rawPassword) { return BCrypt.hashpw(rawPassword, BCrypt.gensalt()); } // 验证密码 public static boolean matches(String rawPassword, String encodedPassword) { return BCrypt.checkpw(rawPassword, encodedPassword); } public static void main(String[] args) { BCryptPasswordEncoder encoder = new BCryptPasswordEncoder(); String phone="19987654321"; System.out.println(encoder.encode(DigestUtils.md5Hex(phone.substring(phone.length() - 6)))); System.out.println(DigestUtils.md5Hex("358736")); System.out.println(encoder.matches(DigestUtils.md5Hex("358736"), "$2a$10$lChcCpt1hN77IFSavrsXHe39hox4ggGlJZxuf7AHZ3y2qRbiJjPUy")); } }