commons-codec使用介绍

commons-codec是Apache开源组织提供的用于摘要运算、编码的包。在该包中主要分为四类加密:BinaryEncoders、DigestEncoders、LanguageEncoders、NetworkEncoders。

今天就为大家介绍一下如何用commons-codec包完成常见的编码、摘要运算。

Base64

示例代码:

@Test
public void testBase64()
{
   System.out.println("==============Base64================");
   byte[] data = "jianggujin".getBytes();
   Base64 base64 = new Base64();
   String encode = base64.encodeAsString(data);
   System.out.println(encode);
   System.out.println(new String(base64.decode(encode)));
}

运行结果:

==============Base64================
amlhbmdndWppbg==
jianggujin

MD5摘要运算

示例代码:

@Test
public void testMD5()
{
   System.out.println("==============MD5================");
   String result = DigestUtils.md5Hex("jianggujin");
   System.out.println(result);
}

运行结果:

acab4efdfd3b8efcdec37fe160d7be0e

SHA等摘要运算和MD5类似。

URLCodec

示例代码:

@Test
public void testURLCodec() throws Exception
{
   System.out.println("==============URLCodec================");
   URLCodec codec = new URLCodec();
   String data = "蒋固金";
   String encode = codec.encode(data, "UTF-8");
   System.out.println(encode);
   System.out.println(codec.decode(encode, "UTF-8"));
}

运行结果:

==============URLCodec================
%E8%92%8B%E5%9B%BA%E9%87%91
蒋固金

完整示例代码:

package com.gujin.codec;

import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.net.URLCodec;
import org.junit.Test;

public class CodecTest
{
   @Test
   public void testBase64()
   {
      System.out.println("==============Base64================");
      byte[] data = "jianggujin".getBytes();
      Base64 base64 = new Base64();
      String encode = base64.encodeAsString(data);
      System.out.println(encode);
      System.out.println(new String(base64.decode(encode)));
   }

   @Test
   public void testMD5()
   {
      System.out.println("==============MD5================");
      String result = DigestUtils.md5Hex("jianggujin");
      System.out.println(result);
   }

   @Test
   public void testURLCodec() throws Exception
   {
      System.out.println("==============URLCodec================");
      URLCodec codec = new URLCodec();
      String data = "蒋固金";
      String encode = codec.encode(data, "UTF-8");
      System.out.println(encode);
      System.out.println(codec.decode(encode, "UTF-8"));
   }
}
时间: 2024-08-12 03:54:23

commons-codec使用介绍的相关文章

Apache Commons Codec 编码解码

Apache Commons Codec jar包官方下载地址 下载解压后把commons-codec-1.9.jar 放到lib中 关于SHA1算法的介绍可以参看Wiki:http://en.wikipedia.org/wiki/SHA-1 这里简单介绍一下通过 Apache Commons Codec 实现Base64/MD5/SHA1/SHA256等算法,代码如下: package com.ricky.java.csv.util; import org.apache.commons.cod

Commons Codec基本使用(转载)

在实际的应用中,我们经常需要对字符串进行编解码,Apache Commons家族中的Commons Codec就提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic and URLs等等. 一.官方网址: http://commons.apache.org/codec/ 二.例子 1.  Base64编解码 private static String encodeTest(String str){ Base64 base64 = new Base64(); try 

ANDROID : java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String in android

Andriod系统包中现在已经自带加密函数,如果用apache的codec包则会报以上错误,用android.util.Base64以下方法代替org.apache.commons.codec.binary.Base64 --- String str = Base64.encodeBase64String(byte[] data); ---byte[] data = Base64.decodeBase64(String str); android.util.Base64 ---String st

Apache Commons Codec 与消息摘要算法(hash算法)

首先我们要明白 Codec 是什么含义.它是 Coder + decoder = Codec,也就是编码器解码器.即是编码器,也是解码器. 官网地址:http://commons.apache.org/proper/commons-codec/ Apache Commons Codec (TM) software provides implementations of common encoders and decoders such as Base64, Hex, Phonetic and U

Java加密工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)

依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 1 import java.security.MessageDigest; 2 import java.security.NoSuchAlgorithmException; 3 4 /** 5 * CiphertextUtil 6 * 7 * @author ysj 8 */ 9 public class CiphertextUtil { 10 public static final Strin

Apache commons codec 之language

Apache commons codec的language是一个功能比较强大的包,主要是用在对各种语言的处理上,当然,这个包对汉字的支持很糟糕.这一块的内容,在网上非常少,只能自己写一些挺肤浅的代码,以后如果有机会接触,再完善. 我们先学习下编码的范例. Examples of Soundex Coding Name                Letters Coded       Coding Allricht            l, r, c             A-462 Eb

java.lang.IllegalAccessError: tried to access method org.apache.commons.codec.digest.DigestUtils.getDigest(Ljava/lang/String;)Ljava/security/MessageDigest; from class com.xyb.mis.pay.jingdong.util.Sig

严重: Servlet.service() for servlet [springmvc] in context with path [/xyb-mis-web] threw exception [Handler processing failed; nested exception is java.lang.IllegalAccessError: tried to access method org.apache.commons.codec.digest.DigestUtils.getDige

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

转自:https://blog.csdn.net/mmd1234520/article/details/70210002/ 1 import java.security.MessageDigest; 2 import java.security.NoSuchAlgorithmException; 3 4 import org.apache.commons.codec.digest.DigestUtils;//开发的jar包 使用更方便 5 public class MD5 { 6 7 /* 8

Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String;

异常:Handler processing failed; nested exception is java.lang.NoSuchMethodError: org.apache.commons.codec.digest.DigestUtils.sha1Hex(Ljava/lang/String;)Ljava/lang/String; 一般是jar包冲突,造成Java对象找到多个相同方法或变量不知道哪个正确,或者是直接找不到正确的可使用的,才会报出类似的错误, 回头想一想刚才修改了pom文件中哪

Apache Commons 工具类介绍及简单使用

Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍.   组件 功能介绍 BeanUtils 提供了对于JavaBean进行各种操作,克隆对象,属性等等. Betwixt XML与Java对象之间相互转换. Codec 处理常用的编码方法的工具类包 例如DES.SHA1.MD5.Base64等. Collections java集合框架操作. Compress java提供文件打包 压缩类库. C