重庆市住房和城乡建设厅官方网站,江西九江永修网站建设,怎么查看网站主机商,建站行业是什么意思下面是一个简单的 Java MD5 加密工具的实现。这个工具可以用于对输入的字符串进行 MD5 加密#xff0c;并返回加密后的结果。 MD5 加密工具类 import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5Util {/*** 使用 MD5 算法加… 下面是一个简单的 Java MD5 加密工具的实现。这个工具可以用于对输入的字符串进行 MD5 加密并返回加密后的结果。 MD5 加密工具类 import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;public class MD5Util {/*** 使用 MD5 算法加密字符串** param input 要加密的字符串* return 加密后的 MD5 字符串16 进制格式*/public static String md5(String input) {try {// 创建 MD5 消息摘要实例MessageDigest md MessageDigest.getInstance(MD5);// 计算消息摘要byte[] messageDigest md.digest(input.getBytes());// 将 byte 转换为 16 进制字符串StringBuilder hexString new StringBuilder();for (byte b : messageDigest) {String hex Integer.toHexString(0xff b);if (hex.length() 1) {hexString.append(0); // 如果是单个字符前加 0}hexString.append(hex);}return hexString.toString();} catch (NoSuchAlgorithmException e) {throw new RuntimeException(MD5 加密失败, e);}}public static void main(String[] args) {// 测试 MD5 加密String originalString Hello, World!;String md5Encrypted MD5Util.md5(originalString);System.out.println(原始字符串: originalString);System.out.println(MD5 加密结果: md5Encrypted);}
} 代码说明 引入必要的包 java.security.MessageDigest用于生成消息摘要。 java.security.NoSuchAlgorithmException处理不支持的加密算法异常。 md5 方法 接收一个字符串作为输入。 创建 MessageDigest 实例并指定算法为 “MD5”。 使用 digest 方法计算消息摘要并将其转换为字节数组。 将字节数组转换为 16 进制字符串以便更易读。 main 方法 用于测试 MD5 加密功能输入一个字符串并输出其加密结果。 使用示例 你可以在 main 方法中修改 originalString 的值来测试不同字符串的 MD5 加密结果。运行程序后你将看到如下输出 原始字符串: Hello, World!
MD5 加密结果: 65a105f0Badb9b1b9e30f2b1c3e7b15a 注意事项 MD5 不是加密算法而是哈希算法因此它是不可逆的。 MD5 不再被认为是安全的尤其是对于密码等敏感数据。对于需要高安全性的场合考虑使用更安全的哈希算法如 SHA-256 或 SHA-512 32为长度的 public static String encryptWithMD5(String input){MessageDigest md null;try {md MessageDigest.getInstance(MD5);} catch (NoSuchAlgorithmException e) {log.error(MD5加密失败,e);}byte[] messageDigest md.digest(input.getBytes());BigInteger no new BigInteger(1, messageDigest);StringBuilder hashtext new StringBuilder(no.toString(16));// 添加前导0确保32位长度while (hashtext.length() 32) {hashtext.insert(0, 0);}return hashtext.toString();}