Apache Codec MD5编码

本文将介绍怎样使用Apache Codec的DigestUtils实现md5加密。

下面直接通过实例演示怎样使用 DigestUtils(消息摘要工具类)实现MD5加密操作。代码如下:

import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.digest.DigestUtils;

import java.io.ByteArrayInputStream;
import java.io.IOException;

/**
 * Commons Codec Md5 的用法
 */
public class Md5Demo {

    public static void main(String[] args) {
        String val = "Hello World";
        String result1 = DigestUtils.md5Hex(val);
        System.out.println("md5Hex字符串参数:" + result1);

        byte[] bytes = val.getBytes();
        String result2 = DigestUtils.md5Hex(bytes);
        System.out.println("md5Hex字节数组参数:" + result2);

        byte[] result3 = DigestUtils.md5(val);
        System.out.println("md5字符串参数:" + Hex.encodeHexString(result3));

        byte[] result4 = DigestUtils.md5(bytes);
        System.out.println("md5字节数组参数:" + Hex.encodeHexString(result4));

        try {
            byte[] result5 = DigestUtils.md5(new ByteArrayInputStream(bytes));
            System.out.println("md5输入流参数:" + Hex.encodeHexString(result5));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

DigestUtils工具类注意提供了如下两种md5方法。如下:

  • md5方法:该方法接收字符串、字节数组、输入流作为参数,全部返回字节数组,需要利用Hex类转换成十六进制;

  • md5Hex方法:该方法接收字符串、字节数组作为参数,返回十六进制结果,不需要手动使用Hex转换成十六进制。

睡眠和休息丧失了时间,却取得了明天工作的精力。 —— 毛泽东
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号