160705、总结:commons-codec.jar中常用方法
一、Base64编码和解码
import org.apache.commons.codec.EncoderException;
import org.apache.commons.codec.binary.Base64;
public class TestBase64 {
public static void main(String[] args) throws EncoderException, UnsupportedEncodingException {
Base64 base64 = new Base64();
String str = "AAaaa我";
String result = base64.encodeToString(str.getBytes("UTF-8"));//编码
System.out.println(result);
byte[] decode = base64.decode(result.getBytes());//解码
System.out.println(new String(decode));
}
}
二、Hex编码和解码
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
public class TestHex {
public static void main(String[] args) throws DecoderException, UnsupportedEncodingException {
String str = "test";
/**编码*/
String hexString = Hex.encodeHexString(str.getBytes("UTF-8"));//直接一步到位
System.out.println(hexString);
char[] encodeHex = Hex.encodeHex(str.getBytes(), true);//先转换成char数组,第二个参数意思是是否全部转换成小写
System.out.println(new String(encodeHex));
/**解码*/
byte[] decodeHex = Hex.decodeHex(encodeHex);//char数组型的
System.out.println(new String(decodeHex));
byte[] decodeHex2 = Hex.decodeHex(hexString.toCharArray());//字符串类型的,该方法要求传入的是char[]
System.out.println(new String(decodeHex2));
}
}
三、MD5加密(MD5是不可逆算法,只能加密)
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.digest.DigestUtils;
public class TestMD5 {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "test";
String md5 = DigestUtils.md5Hex(str.getBytes("UTF-8"));
System.out.println(md5);
}
}
四、SHA加密
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.digest.DigestUtils;
public class TestSHA {
public static void main(String[] args) throws UnsupportedEncodingException {
String str = "test中国";
String sha1Hex = DigestUtils.sha1Hex(str.getBytes("UTF-8"));
System.out.println(sha1Hex);
}
}
五、Metaphone和Soundex
Metaphone 建立出相同的key给发音相似的单字, 比 Soundex 还要准确, 但是 Metaphone 没有固定长度, Soundex 则是固定第一个英文字加上3个数字. 这通常是用在类似音比对, 也可以用在 MP3 的软件开发
metaphone() 比 soundex() 函数更精确,因为 metaphone() 了解基本的英语发音规则
import org.apache.commons.codec.language.Metaphone;
import org.apache.commons.codec.language.RefinedSoundex;
import org.apache.commons.codec.language.Soundex;
public class TestMetaphoneAndSoundex {
public static void main(String[] args) {
String str = "testgggggg";
/**Metaphone没有固定长度*/
Metaphone metaphone = new Metaphone();
String metaphoneEncode = metaphone.encode(str);
System.out.println(metaphoneEncode);
/**RefinedSoundex*/
RefinedSoundex refinedSoundex = new RefinedSoundex();
String refinedSoundexEncode = refinedSoundex.encode(str);
System.out.println(refinedSoundexEncode);
/**Soundex固定第一个英文字加上3个数字*/
Soundex soundex = new Soundex();
String soundexEncode = soundex.encode(str);
System.out.println(soundexEncode);
}
}
六、URLCodec
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.EncoderException;
import org.apache.commons.codec.net.URLCodec;
public class TestURLCodec {
public static void main(String[] args) throws EncoderException, DecoderException {
String url = "http://baidu.com?name=你好";
URLCodec codec = new URLCodec();
String encode = codec.encode(url);
System.out.println(encode);
String decode = codec.decode(encode);
System.out.println(decode);
}
}
除了这些还有很多算法比如HMAC等,大家可以根据需要选取,commons-codec-1.10.jar就是一个加密解码相关的jar包
160705、总结:commons-codec.jar中常用方法的更多相关文章
- Apache Commons Codec 编码解码
Apache Commons Codec jar包官方下载地址 下载解压后把commons-codec-1.9.jar 放到lib中 关于SHA1算法的介绍可以参看Wiki:http://en.wik ...
- 【报错】引入jar包import org.apache.commons.codec.digest.DigestUtils 报错,jar不存在
import org.apache.commons.codec.digest.DigestUtils报错.缺少jar maven引用jar包地址: <!-- https://mvnreposit ...
- 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 ...
- ANDROID : java.lang.NoSuchMethodError: org.apache.commons.codec.binary.Base64.encodeBase64String in android
Andriod系统包中现在已经自带加密函数,如果用apache的codec包则会报以上错误,用android.util.Base64以下方法代替org.apache.commons.codec.bin ...
- Commons Codec基本使用(转载)
在实际的应用中,我们经常需要对字符串进行编解码,Apache Commons家族中的Commons Codec就提供了一些公共的编解码实现,比如Base64, Hex, MD5,Phonetic an ...
- commons-lang3-3.2.jar中的常用工具类的使用
这个包中的很多工具类可以简化我们的操作,在这里简单的研究其中的几个工具类的使用. 1.StringUtils工具类 可以判断是否是空串,是否为null,默认值设置等操作: /** * StringUt ...
- Apache Commons Codec 与消息摘要算法(hash算法)
首先我们要明白 Codec 是什么含义.它是 Coder + decoder = Codec,也就是编码器解码器.即是编码器,也是解码器. 官网地址:http://commons.apache.org ...
- org.apache.commons.lang.StringUtils中常用的方法
org.apache.commons.lang.StringUtils中常用的方法,这里主要列举String中没有,且比较有用的方法: 1. 检查字符串是否为空: static boolean isB ...
随机推荐
- Mac上的学习神器:Marginnote
https://marginnote.com/?lang=zh-hans 技巧1:合并 多选编辑 - 按顺序选择多个块 - 左下角菜单 - 合并 技巧2:管理顺序 双击图片并且按住不放,即可拖拽顺序 ...
- SQL 查询结果为 XML
--原始数据 SELECT OrderNO,CreateDate,Username,Address FROM Whir_Order_OrderInfo --1.AUTO模式 SELECT Or ...
- 171. Anagrams【medium】
Given an array of strings, return all groups of strings that are anagrams. Notice All inputs will be ...
- 547. Intersection of Two Arrays【easy】
Given two arrays, write a function to compute their intersection. Notice Each element in the result ...
- python学习之time模块
time.time() 将时间作为浮点数返回. 在Windows和大多数Unix系统上,时代是1970年1月1日00:00:00(UTC),并且闰秒不计入从时代开始的秒数. >>> ...
- iOS开发多线程篇 04 —线程间的通信
iOS开发多线程篇—线程间的通信 一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任 ...
- Ajax同步与异步优缺点与使用
一.什么是同步请求:(false) 同步请求即是当前发出请求后,浏览器什么都不能做,必须得等到请求完成返回数据之后,才会执行后续的代码,相当于是排队,前一个人办理完自己的事务,下一个人才能 ...
- jdk8 Function
例子 1: // 定义function Function<String, String> fun = parm -> { // 这里是定function中的逻辑 return Str ...
- 本地测试Tomcat配置Https访问
一.tomcat开启HTTPS配置 1) 准备证书 使用jdk工具keytool生成一个ssl测试用证书, 一路按照提示操作输入即可 keytool -genkey -alias tomcat -ke ...
- cp/scp命令详解
cp:拷贝命令 用法: cp [参数] source dest cp [参数] source ... directory 说明:将一个档案拷贝至另一个档案,或数个档案拷贝到另一目录 参数: -a 尽可 ...