直接看源码,一看就懂了
package com.zit.test;
import java.security.MessageDigest;
/**
* 加密
*/
public class DbMain {
//传入字符加密
public static String md5(String str) {
StringBuilder s = new StringBuilder(32);
try {
MessageDigest md = MessageDigest.getInstance("md5");
md.update(str.getBytes());
s = new StringBuilder(32);
for (byte b : md.digest()) {
s.append(String.format("%x", b));
}
} catch (Exception e) {
e.printStackTrace();
}
return s.toString();
}
//传入字符加密
public static String sha1(String str) {
StringBuilder s = new StringBuilder(32);
try {
MessageDigest md = MessageDigest.getInstance("sha1");
md.update(str.getBytes());
s = new StringBuilder(32);
for (byte b : md.digest()) {
s.append(String.format("%x", b));
}
} catch (Exception e) {
e.printStackTrace();
}
return s.toString();
}
public static String password(String account, String password) {
String m = md5(account + password);
String s = sha1(account + password);
StringBuilder ss = new StringBuilder(32);
ss.append(m.substring(0, 10));
ss.append(s.substring(0, 10));
ss.append(m.substring(18, 24));
ss.append(s.substring(18, 24));
return ss.toString();
}
/**
* @param account
* @param password
* @param hashpass
* @return
*/
public static boolean isPassword(String account, String password, String hashpass) {
boolean flag = false;
if (hashpass.equals(password(account, password))) {
flag = true;
}
return flag;
}
public static void main(String[] args) {
String hashpass = password("李四", "123");
System.out.println(password("李四", "123"));
System.out.println(isPassword("admin", "123", hashpass));
System.out.println(isPassword("李四", "123", hashpass));
}
public static void main11(String[] args) {
/* String account="李四";
String password="123";
System.out.println(password(account,password));
System.out.println(password(account,password).length());*/
String account = "admin";
String password = "123";
String pass = password(account, password);
System.out.println(pass);
/* String a="admin";
System.out.println(a);
System.out.println(md5(a));
System.out.println(md5(a).length());
System.out.println("**********");
System.out.println(sha1(a));
System.out.println(sha1(a).length());*/
//21232f297a57a5a743894a0e4a801fc3 mysql加密
//21232f297a57a5a743894ae4a801fc3 咱们加密
}
}