
正文
使用Java进行MD5加密
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
使用Java自带的MessageDigest类可以轻松实现MD5加密,只不过加密后得到的是byte数组,我们需要将其转换为16进制的字符。
代码如下:
package com.stepsoft.test; import java.security.MessageDigest; /***
*
* @author Sam <br />
* 加密工具类
*
*/
public class Encrypter { private static final char[] HEX_DIGITS = { '0', '1', '2', '3', '4', '5',
'6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; /***
* 使用MD5进行加密
*
* @param text
* , 需要加密的文字
* @return, md5密文
*/
public static String md5(String text) {
try {
byte[] input = text.getBytes();
// 获得MD5摘要算法的 MessageDigest对象
MessageDigest mdInst = MessageDigest.getInstance("MD5");
// 使用指定的字节更新摘要
mdInst.update(input);
// 获得密文
byte[] md = mdInst.digest();
// 把密文转换成十六进制的字符串形式
int j = md.length;
char str[] = new char[j * 2];
int k = 0;
for (int i = 0; i < j; i++) {
byte byte0 = md[i];
str[k++] = HEX_DIGITS[byte0 >>> 4 & 0xf];
str[k++] = HEX_DIGITS[byte0 & 0xf];
}
return new String(str);
} catch (Exception e) {
e.printStackTrace();
return null;
}
} }








