1、添加依賴
<dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency>
2.加密算法實現
package com.everjiankang.miaosha.util; import org.apache.commons.codec.digest.DigestUtils; /** * 2次MD5加密 * @author guchunchao * */ public class MD5Util { private static final String PUBLIC_SALT = "1a2b3c4d5e"; /** step1 將input框輸入的明文密碼根據公有鹽轉化為MD5加密密碼*/ public static String inputPassToFormPass(String password) { String saltPass = PUBLIC_SALT.charAt(0) + PUBLIC_SALT.charAt(2) + password + PUBLIC_SALT.charAt(5) + PUBLIC_SALT.charAt(4); return DigestUtils.md5Hex(saltPass); } /** step2 將根據公有鹽轉化的MD5加密密碼 再根據私有鹽進行第二次加密,同時應該在DB中存儲私有鹽*/ public static String formPassToDBPass(String formPass,String privateSalt) { String saltPass = privateSalt.charAt(0) + privateSalt.charAt(2) + formPass + privateSalt.charAt(5) + privateSalt.charAt(4); return DigestUtils.md5Hex(saltPass); } /** 將step1 和 step2 結合起來進行封裝*/ public static String inputPassToDBPass(String inputPass,String privateSalt) { return formPassToDBPass(inputPassToFormPass(inputPass),privateSalt); } public static void main(String[] args) { System.out.println(inputPassToFormPass("123456")); System.out.println(formPassToDBPass("123456","xiaochaoaidami")); System.out.println(inputPassToDBPass("123456","xiaochaoaidami")); } }