【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 ...
随机推荐
- vi & vim复制,粘贴,剪切文本
我经常用vi编辑器,但基本上还是windows的习惯,没有系统的学过其功能,今天遇到了文本的复制这没有办法了,查看一下解决如下: 引用文本: ----------------------------- ...
- c++ float能到小数点后多少位
float xiaoshu=0.0000000000000000000000000000000000000000000001; cout<<"xiaoshu"<& ...
- cell 内部 设置width 总不对
今天 在Cell 里设置屏幕宽 如果 在layoutSubviews 使用 self.width(自己写的分类) 或者 self.view.size.width 都可以,这里 4 4s 5 5s 都 ...
- Javascript 事件对象(三)事件冒泡
事件流---事件冒泡取消冒泡:ev.cancelBubble=true ---事件捕获Ie下是没有的,在绑定事件中,标准下是有的 <!DOCTYPE HTML> <html> ...
- Swift-----类型转换 、 嵌套类型 、 扩展 、 协议 、 访问控制
使用is和as操作符判断和转换数组中的对象类型 1.1 问题 类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例.在Swift中使用is和as操作符实现类型转换. 本案例定义一个媒体类 ...
- 2-Spark高级数据分析-第二章 用Scala和Spark进行数据分析
数据清洗时数据科学项目的第一步,往往也是最重要的一步. 本章主要做数据统计(总数.最大值.最小值.平均值.标准偏差)和判断记录匹配程度. Spark编程模型 编写Spark程序通常包括一系列相关步骤: ...
- web前端的学习.
web前端的了解 1.前端技术包括JavaScript.ActionScript.CSS.xHTML等“传统”技术与Adobe AIR.Google Gears,以及概念性较强的交互式设计,艺术性较强 ...
- RMAN备份与恢复之初入茅庐
理解数据库备份 所谓备份实际上是把数据库复制到转储设备的过程. 从备份方式来看数据库备份分为物理备份和逻辑备份,物理备份是把构成数据库的所有文件拷贝到指定的位置的过程,而逻辑备份只是利用SQL语言从数 ...
- EXTJS4.2中neptune主题的使用
原文地址:http://blog.csdn.net/xieguojun2013/article/details/8880519 最近在在sencha.com官网了解到EXTJS的最新版本里增加了新的主 ...
- UVa 12166 修改天平
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...