java md5加密解密工具类
时间: 2023-08-08 16:08:25 浏览: 44
你可以使用以下的Java代码来实现MD5加密和解密的工具类:
```java
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5Utils {
public static String encrypt(String input) {
try {
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] messageDigest = md.digest(input.getBytes());
StringBuilder hexString = new StringBuilder();
for (byte b : messageDigest) {
String hex = Integer.toHexString(0xFF & b);
if (hex.length() == 1) {
hexString.append('0');
}
hexString.append(hex);
}
return hexString.toString();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}
public static boolean decrypt(String input, String encrypted) {
String decrypted = encrypt(input);
return decrypted != null && decrypted.equals(encrypted);
}
public static void main(String[] args) {
String password = "your_password";
String encryptedPassword = encrypt(password);
System.out.println("Encrypted password: " + encryptedPassword);
// Example of decryption
String inputPassword = "your_password";
boolean isMatch = decrypt(inputPassword, encryptedPassword);
System.out.println("Password match: " + isMatch);
}
}
```
上述代码中的`encrypt`方法用于对输入进行MD5加密,返回加密后的字符串。`decrypt`方法用于将输入进行MD5加密,并与给定的加密后字符串比较,返回比较结果。`main`方法中包含了一个示例,演示了如何使用该工具类加密和解密密码。
请注意,MD5是一种单向散列函数,即无法逆向解密。因此,代码中的`decrypt`方法实际上是将输入进行加密后再与给定的加密后字符串比较。如果加密后的字符串相同,则认为输入与给定字符串相匹配。
希望这可以帮助到你!如有其他问题,请随时提问。