使用commons-codec 进行加密的一些操作

package com.jiepu.ApacheDigest;

import java.io.FileInputStream;

import org.apache.commons.codec.CharEncoding;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.binary.Hex;
import org.apache.commons.codec.binary.StringUtils;
import org.apache.commons.codec.digest.Crypt;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.codec.digest.HmacUtils;
import org.apache.commons.codec.digest.Md5Crypt;
import org.apache.commons.codec.digest.Sha2Crypt;
import org.apache.commons.codec.digest.UnixCrypt;
import org.apache.commons.codec.net.BCodec;
import org.apache.commons.codec.net.QCodec;
import org.apache.commons.codec.net.URLCodec; /**
*
* apache commons-codec 与Apache Digest demo实例,支持md5 sha1 base64 hmac urlencode
*
maven 依赖:
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.10</version>
</dependency>
*/
public class App {
public static void main(String[] args) throws Exception {
String str = "你好";
String key="key";
URLCodec urlCodec = new URLCodec();
String code = urlCodec.encode(str, CharEncoding.UTF_8);
System.out.println(code);
String data = urlCodec.decode(code, CharEncoding.UTF_8);
System.out.println(data); QCodec qcodec = new QCodec();
code = qcodec.encode(str, CharEncoding.UTF_8);
System.out.println(code);
data = qcodec.decode(code);
System.out.println(data); BCodec bcodec = new BCodec();
code = bcodec.encode(str, CharEncoding.UTF_8);
System.out.println(code);
data = bcodec.decode(code);
System.out.println(data); System.out.println(DigestUtils.md5Hex(str));
System.out.println(DigestUtils.md2Hex(str));
System.out.println(DigestUtils.sha1Hex(str));
System.out.println(DigestUtils.sha256Hex(str));
System.out.println(DigestUtils.sha384Hex(str));
System.out.println(DigestUtils.sha512Hex(str));
System.out.println(DigestUtils.shaHex(str)); System.out.println(Sha2Crypt.sha512Crypt(str.getBytes()));
System.out.println(Sha2Crypt.sha512Crypt(str.getBytes()));
System.out.println(Md5Crypt.md5Crypt(str.getBytes()));
System.out.println(UnixCrypt.crypt(str.getBytes())); System.out.println(HmacUtils.hmacMd5Hex(key, str));
System.out.println(HmacUtils.hmacSha1Hex(key, str));
System.out.println(HmacUtils.hmacSha256Hex(key, str));
System.out.println(HmacUtils.hmacSha384Hex(key, str));
System.out.println(HmacUtils.hmacSha512Hex(key, str)); System.out.println( Md5Crypt.apr1Crypt(str));
System.out.println(Crypt.crypt(str)); code=Base64.encodeBase64String(str.getBytes());
System.out.println(Base64.isBase64(code));
System.out.println(StringUtils.newStringUtf8(Base64.decodeBase64(code))); char[] chs=Hex.encodeHex(str.getBytes());
System.out.println(chs);
System.out.println(StringUtils.newStringUtf8(Hex.decodeHex(chs)));
System.out.println("Hello World!"); System.out.println(DigestUtils.md5Hex(new FileInputStream("c:/gc.log")));
System.out.println(DigestUtils.sha1Hex(new FileInputStream("c:/gc.log")));
//DigestUtils.getDigest("md5").digest(input);
}
}

@文转 http://blog.csdn.net/earbao/article/details/42552285

【java】之 apache commons-codec 与Apache Digest demo实例,支持md5 sha1 base64 hmac urlencode的更多相关文章

  1. Java之加密(信息摘要)工具类(依赖:java.security.MessageDigest或org.apache.commons.codec.digest.DigestUtils)

    依赖于java.security.MessageDigest,支持MD5,SHA-1,SHA-256 import java.security.MessageDigest; import java.s ...

  2. 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.co ...

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

    转自:https://blog.csdn.net/mmd1234520/article/details/70210002/ import java.security.MessageDigest; im ...

  4. md5加密(3)---org.apache.commons.codec.digest.DigestUtils.md5Hex(input)

    import org.apache.commons.codec.digest.DigestUtils;String sig = DigestUtils.md5Hex("str")

  5. 【报错】引入jar包import org.apache.commons.codec.digest.DigestUtils 报错,jar不存在

    import org.apache.commons.codec.digest.DigestUtils报错.缺少jar maven引用jar包地址: <!-- https://mvnreposit ...

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

    Andriod系统包中现在已经自带加密函数,如果用apache的codec包则会报以上错误,用android.util.Base64以下方法代替org.apache.commons.codec.bin ...

  7. Apache Commons Codec 编码解码

    Apache Commons Codec jar包官方下载地址 下载解压后把commons-codec-1.9.jar 放到lib中 关于SHA1算法的介绍可以参看Wiki:http://en.wik ...

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

    首先我们要明白 Codec 是什么含义.它是 Coder + decoder = Codec,也就是编码器解码器.即是编码器,也是解码器. 官网地址:http://commons.apache.org ...

  9. Apache Commons Codec的Base64加解密库

    下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi import org.apache.commons.cod ...

随机推荐

  1. 2016-08-05(1) ng-options的用法详解

    http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/ng-options-usage/

  2. 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序

    这种错误的可能性有几种,比如: 1.没有安装数据访问组件,需要安装相应版本的数据访问组件: 2.没有安装相应版本的Office客户端,需要安装相应版本的Office客户端: 3.Microsoft.J ...

  3. C#常用操作类库五(电脑操作类)

    /// <summary> /// Computer Information /// </summary> public class ComputerHelper { publ ...

  4. MVC 知识点学习3(linq to sql)

    1.通过DbContext对象的Database.SqlQuery执行sql语句 string query = "SELECT EnrollmentDate, COUNT(*) AS Stu ...

  5. java文件编译及运行

    1 配置环境变量 使用鼠标右击“我的电脑”->属性->高级->环境变量 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files (x86 ...

  6. android 生成.keystore文件

    cmd 进入jdk下的bin目录(我的目录:C:\Program Files\Java\jdk1.6.0_37\bin) keytool -genkey -alias xxx.keystore -ke ...

  7. MVC+UnitOfWork+Repository+EF 之我见

    UnitOfWork+Repository模式简介: 每次提交数据库都会打开一个连接,造成结果是:多个连接无法共用一个数据库级别的事务,也就无法保证数据的原子性.一致性.解决办法是:在Reposito ...

  8. vs 下安装boost

    首先到boost官网去下载最新的版本的boost库,选对对应的平台版本. 下载官网 解压文件, 先运行bootstrap.bat文件,生成bjam.exe并运行它.推荐完全编译的方式运行bjam 推荐 ...

  9. 周末发现一个BUG,时有时无,一出程序就崩溃,郁闷了好久,终于跟出来来了,记之,提醒自己今后一定规范编写,只要规范,绝对不会出问题

    -- :::] cell0 create -- :::] *** Assertion failure /UITableView.m: -- :::] [ Uncaught Exception ] Na ...

  10. CSS中的display属性

    CSS中的display属性 display:block是可以把非块级元素强制转换为块级元素显示,如内嵌元素span,原来不支持设置宽高,宽度是由内容撑开的,几个span元素是在同一行内的,如果给sp ...