在我们的日常项目开发过程中,在处理用户账号时为保证密码等敏感信息的安全性,往往会选择将这些信息进行明文加密处理。而经常用的的加密方法包括AES对称加密、md5加密等,但针对这些传统的加密方法,网上已经有能进行解密操作的工具,安全性存在不足,接下来我将为大家介绍使用传统md5加密结合salt实现用户密码加密及登录密码校验的实现方法。
1、定义全局变量
private static final String CHARSET = "UTF-8"; // 编码方式
private static final String HEX_NUMS_STR = "0123456789ABCDEF"; //密文组成内容
private static final Integer SALT_LENGTH = 12; // salt值长度
2、byte数据转字符串方法实现(密码结果返回时使用)
public static String byteToHexString(byte[] b) {
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < b.length; i++) {
String hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
hexString.append(hex.toUpperCase());
}
return hexString.toString();