`

使用Apache commons-codec Base64实现加解密

 
阅读更多

commons-codec是Apache下面的一个加解密开发包

 

官方地址为:http://commons.apache.org/codec/

 

官方下载地址:http://commons.apache.org/codec/download_codec.cgi

 

在线文档:http://commons.apache.org/codec/userguide.html

 

下面示例为使用Base64实现字符串的加解密:

 

  1. /** 
  2.      *  
  3.      * 创建日期2011-4-25上午10:12:38 
  4.      * 修改日期 
  5.      * 作者:dh *TODO 使用Base64加密算法加密字符串 
  6.      *return 
  7.      */  
  8.     public static String encodeStr(String plainText){  
  9.         byte[] b=plainText.getBytes();  
  10.         Base64 base64=new Base64();  
  11.         b=base64.encode(b);  
  12.         String s=new String(b);  
  13.         return s;  
  14.     }  
  15.       
  16.     /** 
  17.      *  
  18.      * 创建日期2011-4-25上午10:15:11 
  19.      * 修改日期 
  20.      * 作者:dh     *TODO 使用Base64加密 
  21.      *return 
  22.      */  
  23.     public static String decodeStr(String encodeStr){  
  24.         byte[] b=encodeStr.getBytes();  
  25.         Base64 base64=new Base64();  
  26.         b=base64.decode(b);  
  27.         String s=new String(b);  
  28.         return s;  
  29.     }  

 

 

commons-codec包可以从apache下载,最新版是1.3

不可逆算法

1.MD5

<!---->String str = "abc";
DigestUtils.md5Hex(str);

附.net生成MD5的方法,生成内容跟java一致:

<!---->String str = "abc";
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "MD5");

 

2.SHA1

<!---->String str = "abc";
DigestUtils.shaHex(str);

附.net生成SHA1的方式,生成内容跟java一致:

<!---->String str = "abc";
FormsAuthentication.HashPasswordForStoringInConfigFile(str, "SHA1");

 

可逆算法

常规加密解密算法:BASE64

加密

<!---->String str= "abc"; // abc为要加密的字符串
byte[] b = Base64.encodeBase64(str.getBytes(), true);
System.out.println(new String(b));

解密

<!---->String str = "YWJj"; // YWJj为要解密的字符串
byte[] b = Base64.decodeBase64(str.getBytes());
System.out.println(new String(b));
分享到:
评论

相关推荐

    apache-commons-codec-1.4.jar和sun.misc.BASE64Encoder.jar

    Apache Commons Codec是一个开源项目,它提供了各种编码和解码算法的实现,包括但不限于ASCII、URL、Unicode、HEX以及我们在此关注的BASE64编码。在给定的压缩包文件中,`apache-commons-codec-1.4.jar`是这个库的一...

    BASE64来自commons-codec-1.10

    这个主题源自Apache Commons Codec库的1.10版本,它是一个强大的Java库,提供了各种编码和解码功能,包括Base64。下面将详细阐述Base64以及Apache Commons Codec库的相关知识点。 Base64是一种基于64个可打印字符的...

    commons-codec-android-1.15

    例如,可以使用`org.apache.commons.codec.binary.Base64`进行Base64操作,使用`org.apache.commons.codec.binary.Hex`进行十六进制转换。 7. **依赖管理**: 在Android项目中,可以通过Maven或Gradle等构建工具将...

    commons-codec 多个版本 1.5/1.9/1.10/1.11/1.13/1.14

    commons-codec是Apache开源组织提供的用于摘要运算、编码解码的包。常见的编码解码工具Base64、MD5、Hex、SHA1、DES等。里面包含多个版本架包,commons-codec 多个版本 1.5/1.9/1.10/1.11/1.13/1.14

    commons-codec.jar

    例如,对于Base64编码,可以使用`org.apache.commons.codec.binary.Base64`类中的`encodeBase64`和`decodeBase64`方法。对于URL编码,可以使用`org.apache.commons.codec.net.URLCodec`类。 在开发网页爬虫时,`...

    commons-codec-1.13.zip

    - Apache Commons Codec库中最常用的功能之一就是Base64编码和解码。Base64是一种用于将任意二进制数据转换为ASCII字符格式的方法,以便在网络传输或存储时能安全地处理非ASCII字符。在电子邮件、HTTP头和其他需要...

    commons-codec-1.9.jar

    在提供的压缩文件中,我们看到一个名为"DES-加密专用commonscodec1.9.jar"的文件,这暗示了Apache Commons Codec库也常被用于加密操作。DES(Data Encryption Standard)是一种广泛使用的对称加密算法,虽然现在已被...

    commons-codec-1.10.jar

    Apache Commons Codec是Java开发中常用的一个开源库,它提供了多种编码和解码的实现,包括但不限于Base64、Hex、Phonetic、URL和其他多种编码方式。在Java世界里,Commons Codec库扮演着一个重要的角色,为开发者...

    commons-codec-1.14.zip

    这个"commons-codec-1.14.zip"压缩包包含了Apache Commons Codec库的1.14版本,这是一个广泛使用的开源库,它提供了多种编码格式的实现,包括BASE64编码。在Java中,BASE64编码常用于在网络上传输二进制数据时将其...

    MD5加密依赖包commons-codec-1.11.jar

    `commons-codec-1.11.jar`是Apache Commons Codec库的一个版本,这个库提供了多种编码和解码功能,包括电话号码编码、URL编码、Base64编码、以及我们的关注点——MD5哈希函数。Apache Commons Codec是一个Java类库,...

    commons-codec-1.15-bin.zip

    - Apache Commons Codec提供了Base64类,用于执行Base64的编码和解码操作。开发者可以方便地将字节数组、字符数组或字符串进行Base64的转换。Base64编码在加密、数字证书、图片嵌入等领域广泛应用。 2. **Hex编码...

    commons-codec-1.11官网资源

    Apache Commons Codec库是Java开发人员的一个重要工具,它包含了各种编码和解码算法,比如Base64、Hex、Phonetic、URL、以及国际电话号码等。在这个"commons-codec-1.11"版本中,我们有以下关键知识点: 1. **Base...

    官网最新MD5 jar包:commons-codec-1.12.zip

    `commons-codec-1.12.jar`是Apache Commons Codec库的核心组件,包含了各种编码和解码的实现。这个JAR文件包含了以下关键模块: 1. **Base64编码**:用于在ASCII字符串和二进制数据之间进行转换。Base64是一种常见...

    commons-codec1.11到1.13

    import org.apache.commons.codec.binary.Base64; byte[] bytes = "Hello, World!".getBytes("UTF-8"); String encodedString = Base64.encodeBase64String(bytes); ``` - URL编码: ```java import org....

    apache-commons-codec-1.4.jar

    除了BASE64编码,Apache Commons Codec 1.4还包括其他编码算法的实现,例如: - **Hex编码**: 将字节数据转换为十六进制字符串,或者从十六进制字符串解码回字节数据。 - **URL和URI编码解码**: 提供了对URL和URI...

    commons-codec所有版本(1.1-1.10).zip

    Apache Commons Codec库是一个Java工具包,它包含了各种编码和解码算法,如Base64、Hex、Phonetic、URL编码等。这个压缩包包含了从版本1.1到1.10的所有版本,让我们逐一探讨这些版本中的主要知识点。 1. **Base64...

    commons-codec-1.9

    Apache Commons Codec库是一个Java开发工具包,专注于提供各种编码和解码算法的实现。这个库在版本1.9中包含了多种编码技术,如Base64、URL编码、HEX编码以及一些加密和摘要算法,例如MD5和SHA1。下面我们将深入探讨...

    commons-codec-1.3.jar,commons-httpclient-3.1.jar,commons-logging-1.1.jar)

    Codec库提供了多种编码和解码算法,包括Base64、Hex、URL编码和解码,以及各种电话号码的国际格式化。在图片上传场景中,它可能用于处理URL编码,以便安全地将图片文件名或相关参数传递到HTTP请求中。 2. **commons...

    commons-codec.jar;commons-logging-1.1.jar;commons-httpclient-3.1.jar

    Apache Commons Codec库提供了各种编码和解码算法的实现,如Base64、Hex、URL编码和解码等。它使得开发者能够轻松地在Java项目中使用这些编码格式,而无需自己实现。例如,Base64编码常用于在网络上传输二进制数据,...

Global site tag (gtag.js) - Google Analytics