java md5加密解密代码
时间: 2023-07-04 13:25:48 浏览: 124
以下是Java实现MD5加密和解密的示例代码:
```java
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");
md.update(str.getBytes());
byte[] byteDigest = md.digest();
int i;
StringBuilder buf = new StringBuilder("");
for (byte b : byteDigest) {
i = b;
if (i < 0) {
i += 256;
}
if (i < 16) {
buf.append("0");
}
buf.append(Integer.toHexString(i));
}
return buf.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
/**
* 验证字符串是否匹配MD5值
*
* @param str 需要验证的字符串
* @param md5 原始MD5值
* @return 验证结果,true表示匹配,false表示不匹配
*/
public static boolean validate(String str, String md5) {
return md5.equals(encode(str));
}
}
```
使用示例:
```java
String str = "Hello, world!";
String md5 = MD5Util.encode(str);
System.out.println("MD5加密后的字符串:" + md5);
// 验证字符串是否匹配MD5值
boolean result = MD5Util.validate(str, md5);
System.out.println("验证结果:" + result);
```
输出结果:
```
MD5加密后的字符串:3e25960a79dbc69b674cd4ec67a72c62
验证结果:true
```
阅读全文