📄 md5.java
字号:
package com.bbs.util;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
/**
* @time 2007-10-11
* @author 李龙龙
* @MD5加密的实现
*/
public class MD5 {
/**
*
* @param inputStr
* @return String
* @throws NoSuchAlgorithmException
* 把输入的字符加密以后输出
*/
public String convert(String inputStr) throws NoSuchAlgorithmException {
// 构造一个MessageDigest类的对象
MessageDigest md = MessageDigest.getInstance("MD5");
// 把输入的字符串转化为字符数组
char[] charArray = inputStr.toCharArray();
// 创建一个Byte类型的数组
byte[] byteArray = new byte[charArray.length];
// 字符数组的值赋给Byte数组
for (int i = 0; i < byteArray.length; i++) {
byteArray[i] = (byte) charArray[i];
}
// 通过MessageDigest对象的digest方法对Byte数组进行处理
byte[] mdBytes = md.digest(byteArray);
//把处理过的Byte数组的数据(16位),转成32位的16进制整形,然后放到一个StringBuffer对象中
StringBuffer hexValue = new StringBuffer();
for (int i = 0; i < mdBytes.length; i++) {
int val = ((int) mdBytes[i]) & 0xff;
//如果转换成的整型变量小于16的话,那么再它的前面加0.(因为小于16的整型变量转换成16进制再转成字符只能是1位,所以在前面加0以补成2们)
if (val < 16)
hexValue.append(0);
hexValue.append(Integer.toHexString(val));
}
//返回String类型的数据
return hexValue.toString();
}
public static void main(String[] args) {
//这是一个测试代码
try {
System.out.println(new MD5().convert("你即我来啊,这也行啊"));
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -