java md5加密解密 工具类
时间: 2023-07-04 19:16:23 浏览: 147
以下是Java中对字符串进行MD5加密和解密的工具类代码:
```
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Util {
/**
* 对字符串进行MD5加密
*
* @param str 待加密的字符串
* @return 加密后的字符串
*/
public static String encode(String str) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes = md.digest(str.getBytes());
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
int val = ((int) b) & 0xff;
if (val < 16) {
sb.append("0");
}
sb.append(Integer.toHexString(val));
}
return sb.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return "";
}
}
/**
* 对字符串进行MD5解密(MD5是不可逆的加密算法,无法解密,此处实现为字符串反转)
*
* @param str 待解密的字符串
* @return 解密后的字符串
*/
public static String decode(String str) {
return new StringBuilder(str).reverse().toString();
}
}
```
使用示例:
```
String str = "hello world";
String encodedStr = MD5Util.encode(str);
System.out.println(encodedStr); // 打印:5eb63bbbe01eeed093cb22bb8f5acdc3
String decodedStr = MD5Util.decode(encodedStr);
System.out.println(decodedStr); // 打印:3cdca5f8bb22bc930deee10ebbb36be5
```
注意:MD5是不可逆的加密算法,无法进行解密,此处实现的“MD5解密”实际上是将加密后的字符串进行反转得到的结果,仅用于演示。
阅读全文