蓝易云:java实现md5加解密

在Java中,可以使用 java.security.MessageDigest类来实现MD5加密和解密。下面是一个示例代码,演示如何使用Java实现MD5加解密:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class MD5Util {
    public static String encrypt(String input) {
        try {
            MessageDigest md = MessageDigest.getInstance("MD5");
            byte[] digest = md.digest(input.getBytes());
            StringBuilder sb = new StringBuilder();
            for (byte b : digest) {
                sb.append(String.format("%02x", b & 0xff));
            }
            return sb.toString();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
            return null;
        }
    }

    public static void main(String[] args) {
        String input = "Hello, World!";
        String encrypted = encrypt(input);
        System.out.println("加密后:" + encrypted);
    }
}

在上述示例中,我们定义了一个 MD5Util类,其中的 encrypt方法接受一个字符串作为输入,并返回该字符串的MD5加密结果。我们使用 java.security.MessageDigest类来获取MD5实例,然后通过 digest方法计算输入字符串的摘要,最后将摘要转换为16进制字符串表示。在 main方法中,我们对字符串"Hello, World!"进行加密,并打印加密后的结果。

需要注意的是,MD5算法是单向的哈希函数,它只能进行加密,无法进行解密。因此,在实际应用中,一般只使用MD5进行密码等敏感信息的加密存储和校验。

总结来说,通过使用 java.security.MessageDigest类,我们可以在Java中实现MD5加密。在加密时,将输入字符串转换为字节数组,并使用 MessageDigest类的 digest方法计算MD5摘要,然后将摘要转换为16进制字符串表示,即可得到加密后的结果。

猜你喜欢

转载自blog.csdn.net/tiansyun/article/details/132747097