高并发秒杀项目——两次MD5
用户端:PASS=MD5(明文+固定Salt)
防止数据包被截取到,获取明文密码
两次MD5加密,首先写一个固定的salt,将salt与用户输入的密码做一个拼装,然后将拼装后的密码传入服务端,(输入到服务端的密码稍微做一下改动)
服务端:PASS=MD5(用户输入+随机Salt)
防止数据库被盗,用户可以根据MD5值反推出明文密码
首先编写MD5Util类生成MD5
public class MD5Util {
public static String md5(String src){
return DigestUtils.md5Hex(src);
}
//固定salt
private static final String salt="1a2b3c4d";
//第一次加密
public static String inputPassToFromPass(String inputPass){
String str = salt.charAt(0)+salt.charAt(2)+inputPass+salt.charAt(5)+salt.charAt