【java】之 apache commons-codec 与Apache Digest demo实例,支持md5 sha1 base64 hmac urlencode
使用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的更多相关文章
- 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 ...
- 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 ...
- java 调用apache.commons.codec的包简单实现MD5加密
转自:https://blog.csdn.net/mmd1234520/article/details/70210002/ import java.security.MessageDigest; im ...
- md5加密(3)---org.apache.commons.codec.digest.DigestUtils.md5Hex(input)
import org.apache.commons.codec.digest.DigestUtils;String sig = DigestUtils.md5Hex("str")
- 【报错】引入jar包import org.apache.commons.codec.digest.DigestUtils 报错,jar不存在
import org.apache.commons.codec.digest.DigestUtils报错.缺少jar maven引用jar包地址: <!-- https://mvnreposit ...
- ANDROID : java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String in android
Andriod系统包中现在已经自带加密函数,如果用apache的codec包则会报以上错误,用android.util.Base64以下方法代替org.apache.commons.codec.bin ...
- Apache Commons Codec 编码解码
Apache Commons Codec jar包官方下载地址 下载解压后把commons-codec-1.9.jar 放到lib中 关于SHA1算法的介绍可以参看Wiki:http://en.wik ...
- Apache Commons Codec 与消息摘要算法(hash算法)
首先我们要明白 Codec 是什么含义.它是 Coder + decoder = Codec,也就是编码器解码器.即是编码器,也是解码器. 官网地址:http://commons.apache.org ...
- Apache Commons Codec的Base64加解密库
下载地址:http://commons.apache.org/proper/commons-codec/download_codec.cgi import org.apache.commons.cod ...
随机推荐
- MyEclipse中直接打开class文件的方法
安装步骤: 1>下载jad.exe(这是一个class文件的反编译工具,但是是命令行运行编译,使用起来不是很方便:), 将其拷贝到%JAVA_HOME%/bin目录下(其他目录也可). 2> ...
- selected 刷新页面后selected选中的值保持不表(thinkphp 从控制器assign 传值到js)
昨晚解决select 刷新页面以后选择的值保持不变,要想让seleted不变,有两种思路, 1,在提交表单的时候,将所选择的option的属性设为checked . 2.将option的value或者 ...
- MySQL知识树-查询语句
在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么 ...
- 程序员的成长与规划 | 送签名书啦 | StuQ专访foruok
StuQ(InfoQ的朋友)对我做了一次专访,下面是原文. 福利:送一本签名版<你好哇,程序员>,参与方式在文末.
- ps技巧
ADOBE PHOTOSHOP 同义词 PS(位图图像处理软件Photoshop)一般指ADOBE PHOTOSHOP 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . Adobe Pho ...
- C# 属性控件2
PropertyGrid,.net框架下的一个控件,这是一个软件升级的项目,原来的软件用的是C++,控件用的还是第三方,这次升级到visual studio .net4.0版本,原以为.net的东西用 ...
- C++操作MySQL大量数据插入效率低下的解决方法
#include <iostream> #include <winsock2.h> #include <string> #include "mysql.h ...
- 长平狐 Android-x86虚拟机安装配置全攻略
Android-x86虚拟机安装配置网上有很多,但是全部说明白的确不多,希望这篇文章能把主要的配置介绍给您,帮助您少走一些弯路. 本文分别针对VMWare和Virtual Box两种虚拟机介绍安装配置 ...
- supervisord 小记
此篇仅用作supervisord的用法,不涉及理论说明和基础介绍 supervisor(一)基础篇 使用supervisord来管理process 进程的守护神 - Supervisor superv ...
- eclipse点不出方法
window→preferences→java→editor→Content Assist→Advanced