apache commons codec

Posted 袖子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了apache commons codec相关的知识,希望对你有一定的参考价值。

一、引入Maven依赖

<dependency>
    <groupId>commons-codec</groupId>
    <artifactId>commons-codec</artifactId>
    <version>1.15</version>
</dependency>

二、常用API说明

import java.security.MessageDigest;
import org.apache.commons.codec.CharEncoding;
import org.apache.commons.codec.digest.DigestUtils;

/**
 * Codec  处理常用的编码方法的工具类包 例如DES、SHA1、MD5、Base64等
 * 常用类
 *  ① CharEncoding 编码,其实目前也是用java.nio.charset.StandardCharsets代替
 *  ② DigestUtils 加密工具类
 *
 */
public class CodecDemo {

    private static void testDigestUtils(){
        try {
            // MD5加密,返回16位字符串
            // 控制台乱码, 不清楚是啥原因
            System.out.println(new String(DigestUtils.md5("123456")));
            // MD5加密,返回32位字符串
            System.out.println(DigestUtils.md5Hex("123456"));

            // SHA-1加密
            System.out.println(new String(DigestUtils.sha1("123456")));
            System.out.println(DigestUtils.sha1Hex("123456"));
            // SHA-256加密
            System.out.println(new String(DigestUtils.sha256("123456")));
            System.out.println(DigestUtils.sha256Hex("123456"));
            // SHA-512加密
            System.out.println(new String(DigestUtils.sha512("123456")));
            System.out.println(DigestUtils.sha512Hex("123456"));

            //MD5表示加密算法,可以选择其他参数,如SHA-1等
            MessageDigest digest = MessageDigest.getInstance("MD5");
            //先调用update,再调动digest
            digest.update(org.apache.commons.codec.binary.StringUtils.getBytesUtf8("123456"));
            byte[] byteResult = digest.digest();
            System.out.println(new String(byteResult));


        }catch (Exception e){
            System.out.println(" DigestUtils Error");
            e.printStackTrace();
        }
    }

    private static void testCharEncoding(){
        // 可以用java.nio.charset.StandardCharsets替换org.apache.commons.codec.CharEncoding
        System.out.println(CharEncoding.UTF_8);
    }

    public static void main(String[] args) {
        //CodecDemo.testCharEncoding();
        CodecDemo.testDigestUtils();
    }
}

 

以上是关于apache commons codec的主要内容,如果未能解决你的问题,请参考以下文章

无法引用 org.apache.commons.codec.binary.Base64;

Apache Commons-Codec的使用

线程“主”java.lang.NoClassDefFoundError 中的异常:org/apache/commons/codec/DecoderException

commons-codec包的学习

java 调用apache.commons.codec的包简单实现MD5加密

Android 开发:Java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String()