commons-codec使用介绍

x33g5p2x  于2021-12-25 转载在 其他  
字(2.1k)|赞(0)|评价(0)|浏览(465)

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

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

Base64

示例代码:

  1. @Test
  2. public void testBase64()
  3. {
  4. System.out.println("==============Base64================");
  5. byte[] data = "jianggujin".getBytes();
  6. Base64 base64 = new Base64();
  7. String encode = base64.encodeAsString(data);
  8. System.out.println(encode);
  9. System.out.println(new String(base64.decode(encode)));
  10. }

运行结果:

  1. ==============Base64================ amlhbmdndWppbg==
  2. jianggujin

MD5摘要运算

示例代码:

  1. @Test
  2. public void testMD5()
  3. {
  4. System.out.println("==============MD5================");
  5. String result = DigestUtils.md5Hex("jianggujin");
  6. System.out.println(result);
  7. }

运行结果:

  1. acab4efdfd3b8efcdec37fe160d7be0e

SHA等摘要运算和MD5类似。

URLCodec

示例代码:

  1. @Test
  2. public void testURLCodec() throws Exception
  3. {
  4. System.out.println("==============URLCodec================");
  5. URLCodec codec = new URLCodec();
  6. String data = "蒋固金";
  7. String encode = codec.encode(data, "UTF-8");
  8. System.out.println(encode);
  9. System.out.println(codec.decode(encode, "UTF-8"));
  10. }

运行结果:

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

完整示例代码:

  1. package com.gujin.codec;
  2. import org.apache.commons.codec.binary.Base64;
  3. import org.apache.commons.codec.digest.DigestUtils;
  4. import org.apache.commons.codec.net.URLCodec;
  5. import org.junit.Test;
  6. public class CodecTest {
  7. @Test
  8. public void testBase64()
  9. {
  10. System.out.println("==============Base64================");
  11. byte[] data = "jianggujin".getBytes();
  12. Base64 base64 = new Base64();
  13. String encode = base64.encodeAsString(data);
  14. System.out.println(encode);
  15. System.out.println(new String(base64.decode(encode)));
  16. }
  17. @Test
  18. public void testMD5()
  19. {
  20. System.out.println("==============MD5================");
  21. String result = DigestUtils.md5Hex("jianggujin");
  22. System.out.println(result);
  23. }
  24. @Test
  25. public void testURLCodec() throws Exception
  26. {
  27. System.out.println("==============URLCodec================");
  28. URLCodec codec = new URLCodec();
  29. String data = "蒋固金";
  30. String encode = codec.encode(data, "UTF-8");
  31. System.out.println(encode);
  32. System.out.println(codec.decode(encode, "UTF-8"));
  33. }
  34. }

相关文章