MD5Util⼯具类加密
;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
unicode在线工具import java.security.NoSuchAlgorithmException;
import Matcher;
import Pattern;
/**
* 1.MD5加密字符串(32位⼤写)
* 2.MD5加密字符串(32位⼩写)
* <p>
* MD5在线加密:md5jiami.51240/
* 3.将⼆进制字节数组转换为⼗六进制字符串
* 4.Unicode中⽂编码转换成字符串
*/
public class MD5Util {
/**
* MD5加密字符串(32位⼤写)
*
* @param string 需要进⾏MD5加密的字符串
* @return 加密后的字符串(⼤写)
*/
public static String md5Encrypt32Upper(String string) {
byte[] hash;
try {
//创建⼀个MD5算法对象,并获得MD5字节数组,16*8=128位
hash = Instance("MD5").Bytes("UTF-8"));
} catch (NoSuchAlgorithmException e) {
throw new RuntimeException("Huh, MD5 should be supported?", e);
} catch (UnsupportedEncodingException e) {
throw new RuntimeException("Huh, UTF-8 should be supported?", e);
}
//转换为⼗六进制字符串
StringBuilder hex = new StringBuilder(hash.length * 2);
for (byte b : hash) {
if ((b & 0xFF) < 0x10) hex.append("0");
hex.HexString(b & 0xFF));
}
String().toUpperCase();
}
/**
* MD5加密字符串(32位⼩写)
*
* @param string 需要进⾏MD5加密的字符串
* @return 加密后的字符串(⼩写)
*/
public static String md5Encrypt32Lower(String string) {
//直接上⾯的⽅法转换成⼩写就可以了
return md5Encrypt32Upper(string).toLowerCase();
}
/**
* 将⼆进制字节数组转换为⼗六进制字符串
*
* @param bytes ⼆进制字节数组
* @return ⼗六进制字符串
*/
public static String bytesToHex(byte[] bytes) {
StringBuffer hexStr = new StringBuffer();
int num;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论