MD5加密的做法
1.首先要引入两个jar包,使用maven构建管理
<!-- 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.9</version>
</dependency>
2.创建一个工具类,因为MD5加密在开发当中就相当于一工具来使用
写一个方法做md5的方法
import org.apache.commons.codec.digest.DigestUtils;
//MD5就是要用到下面这个类
import com.sun.corba.se.spi.orbutil.fsm.Guard.Result;
public class MD5Utils {
//对密码进行加密
public static String MD5(String str)
{
return DigestUtils.md5Hex(str);
}
/*
为了确保在别人拿到源码后也不知道密码,所以就要对密码进行两次加密
第一次会用原密码和固定的字符串进行拼装后做一次MD5
(如果只做一次,别人可以拿到反查表,来查出那个字符串,再根据你的源码,而得出密码,但是做了两次就不会出现这样的问题!)
第二次就会直接拿到上面的字符串再做一次MD5
*/
//第一次加密
public static String inputPasswordToFormPasswrod(String inputPassword){
String salt = "1a2b3c4d5r";
String string = salt.charAt(0)+salt.charAt(2)+salt.charAt(1)+inputPassword+salt.charAt(5)+salt.charAt(9)+salt.charAt(3)+salt.charAt(6);
return MD5(string);
}
//第二次加密:
public static String formPasswordToDBPassword(String formpassword){
//第一次在括号里面完成,第二次接着做
return MD5(inputPasswordToFormPasswrod(formpassword));
}
public static void main(String[] args) {
String formPasswordToDBPassword = formPasswordToDBPassword("123456");
System.out.println("password:"+formPasswordToDBPassword);
}
}