image-20190131152823505


1 .依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
<!-- https://mvnrepository.com/artifact/commons-codec/commons-codec -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.11</version>
</dependency>
------------------------------------------------------------------------------------------
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.4</version>
</dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package com.imooc.miaosha.utils;

import org.apache.commons.codec.digest.DigestUtils;

public class MD5Util {
/*固定盐值*/
private static final String salt = "1a2b3c4d";

//注意导包为codec中的DigestUtils类.codec.digest.DigestUtils;
public static String md5(String src) {
//计算MD5摘要并以32个字符十六进制字符串的形式返回值。
return DigestUtils.md5Hex(src);
}

/**
* 第一次md5 :
* 用于 通过输入的密码生成
* 传输的密码 : 方法 通过固定盐值和明文密码之间的拼接在生成md5
*/
public static String inputPassFormPass(String inputPass) {
String str = "" + salt.charAt(0) + salt.charAt(2) + inputPass + salt.charAt(5) + salt.charAt(4);
return md5(str);
}

/**
* 第二次md5 :
*/
public static String fromPassFormPass(String formpasss, String salt) {
String str = "" + salt.charAt(0) + salt.charAt(2) + formpasss + salt.charAt(5) + salt.charAt(4);
return md5(str);
}

//将密码封装到数据库中
public static String inputPassToDbPass(String input, String saltDB) {
String s = inputPassFormPass(input);
String formPass = fromPassFormPass(s, saltDB);
return formPass;
}

public static void main(String args[]) {
//System.out.println(s);//d3b1294a61a07da9b49b6e22b2cbd7f9
//System.out.println(inputPassToDbPass("123456", "1a2b3c4d"));
}
}

调用