【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 ...
随机推荐
- jquery中的DOM事件绑定与解绑
在jquery事件中有时候有的事件只需要在绑定后有效触发一次,当通过e.target判断触发条件有效触发后解除绑定事件,来避免多次无效触发和与未知情况造成冲突. 这时候就要用到了jquery中的事件绑 ...
- 解决ThinkPHP关闭调试模式时报错的问题汇总
解决ThinkPHP关闭调试模式时报错的问题汇总 案例一: 最近用ThinkPHP开发一个项目,本地开发测试完成上传到服务器后,第一次打开正常,再刷新页面时就出现 "页面调试错误,无法找开页 ...
- linux命令:df
1.命令介绍: df用来检测磁盘空间占用情况. 2.命令格式: df [选项] 文件 3.命令参数: 必要参数: -a 全部文件系统列表 -h 方便阅读方式显示 -H 等于“-h”,但是计算式,1K= ...
- cell 内部 设置width 总不对
今天 在Cell 里设置屏幕宽 如果 在layoutSubviews 使用 self.width(自己写的分类) 或者 self.view.size.width 都可以,这里 4 4s 5 5s 都 ...
- Dijksktra(测试源代码)
1.此程序为c++程序 2.以下代码可实现手动输入,即去掉代码中的/*...*/注释符,并同时去掉赋值代码段 3.源代码 #include<iostream> using namespac ...
- iOS--cell的重用机制
对于像我们这样的初学者来说,cell重用机制是很难理解的内容,所以我们不一定非得理解,会用就行. cell的重用机制:当我们使用tableView时,系统只会创建屏幕中显示的cell的个数+1,当ce ...
- Discuz 7.0版块横排显示版块图标和版块简介的方法
Discuz 7.0版块横排显示版块图标和版块简介的方法 最近很多朋友咨询Discuz论坛设置论坛版块横排后,如何设置显示版块图标和简介的问题. 一.显示板块图标 找到templates\defaul ...
- discuz不能发表投票、附件上传等
如何开启和发表投票主题 本教程主要讲述如何开启和发表投票的帖子.具体的操作如下: 1.论坛后台 => 用户 => 用户组 => 详情 => 特殊主题 => 允许发起投票设 ...
- 在WCF中使用消息队列MSMQ
在WCF中使用消息队列MSMQ 在windows平台上,MSMQ是首选的消息传递中间件,它是一种高速.异步.可靠的通信机制,当我们在Internet上的两个应用需要交换信息时,使用这样的中间件可能是必 ...
- forEach遍历数组实例
forEach()取出数组中2的倍数和3的倍数的数 //for IE if(!Array.prototype.forEach){ Array.prototype.forEach = function( ...