MD5加密
目前md5加密解密的工具网上太多了,可以使用加密以后截取部分的方式使用。
package com.asiainfo.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* @author: LIJY
* @Description: 使用java创建 MD5 加密
* @Date: 2019/12/10 21:14
*/
public class CreateMD5 {
public static void main(String[] args) {
// 32为加密
System.out.println(getMd5("123456", true)); // e10adc3949ba59abbe56e057f20f883e
// 16位加密
System.out.println(getMd5("123456", false)); // 49ba59abbe56e057
}
/**
* MD5 进行加密
* @param plainText 加密前的密码
* @param isLong true 32位加密
* false 16位加密,加密方式: 截取32中的16位
* @return
*/
public static String getMd5(String plainText, boolean isLong) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
md.update(plainText.getBytes());
byte b[] = md.digest();
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
String retStr = "";
if (isLong) { // 32位加密
retStr = buf.toString();
} else { // 16位的加密
retStr = buf.toString().substring(8, 24);
}
return retStr;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
}
网友评论