不废话直接上干货。
package com.yl.util;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Base64;
import java.util.Base64.Decoder;
import javax.xml.bind.DatatypeConverter;
/***
* 加密
* @author Administrator
*
*/
public class MD5Utils {
public static String stringToMD5(String plainText) {
byte[] secretBytes = null;
try {
secretBytes = MessageDigest.getInstance("md5").digest(
plainText.getBytes());
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("没有这个md5算法!");
}
String md5code = new BigInteger(1, secretBytes).toString(16);
for (int i = 0; i < 32 - md5code.length(); i++) {
md5code = "0" + md5code;
}
return md5code;
}
public static void main(String[] args) throws UnsupportedEncodingException {
String password = MD5Utils.stringToMD5("Hx@zn#info%123");
System.out.println(password);
String pwd = new String(decode("MTIzNDU2"));
System.out.println(pwd);
}
/**
* @Description base64编码
* @param
* @return
*/
public static String encode(String str){
String base64Str = "";
try{
//String -> byte[]
byte[] data = str.getBytes("utf-8");
base64Str = DatatypeConverter.printBase64Binary(data);
}catch (Exception e){
e.printStackTrace();
}
return base64Str;
}
/**
* @Description base64解码
* @param
* @return
*/
public static String decode(String base64Str){
String str = "";
byte[] base64Data = DatatypeConverter.parseBase64Binary(base64Str);
try{
str = new String(base64Data,"utf-8");
}catch (Exception e){
e.printStackTrace();
}
return str;
}
}