commons-codec中[md5,sha,base64加密算法]的实现demo
来源:互联网 发布:淘宝上什么内衣牌子好 编辑:程序博客网 时间:2024/06/04 17:54
项目用到给用户密码加密,下载了apache的commons-codec jar包,贴出对几种加密算法实现的demo。记之。
commons-codec-1.10下载链接:
http://commons.apache.org/proper/commons-codec/download_codec.cgi
package demo;import org.apache.commons.codec.DecoderException;import org.apache.commons.codec.binary.Base64;import org.apache.commons.codec.binary.Hex;import org.apache.commons.codec.digest.DigestUtils;import org.apache.commons.codec.language.Metaphone;import org.apache.commons.codec.language.RefinedSoundex;import org.apache.commons.codec.language.Soundex;public class CodecDemo {public static void main(String[] args) throws DecoderException {String strPsw = "123456"; // 原密码String ecPsw = ""; // 加密密码String dcPsw = ""; // 解密密码// md5:消息摘要算法第五(Message Digest Algorithm)System.out.println("MD5:");ecPsw = DigestUtils.md5Hex(strPsw);System.out.println("Original:" + strPsw);System.out.println("MD5:" + ecPsw + "\n");// SHA1:安全哈希算法(Secure Hash Algorithm)System.out.println("SHA1:");ecPsw = DigestUtils.sha1Hex(strPsw);System.out.println("Original:" + strPsw);System.out.println("SHA1:" + ecPsw + "\n");// BASE64算法:网络上最常见的用于传输8Bit字节代码的编码方式之一System.out.println("Base64:");byte[] ec = null;byte[] dc = null;// 加密ec = Base64.encodeBase64(strPsw.getBytes(), true);ecPsw = new String(ec).replaceAll("\r|\n", ""); // str.replaceAll("\r|\n",// "") 去掉str末尾换行// 解密:(base64Psw=new String(ec)为要解密的字符串)dc = Base64.decodeBase64(ecPsw.getBytes());dcPsw = new String(dc).replaceAll("\r|\n", "");System.out.println("Original:" + strPsw);System.out.println("Base64:" + ecPsw);System.out.println("deBase64:" + dcPsw + "\n");// Hex编解码System.out.println("Hex:");char[] cc = null;cc = Hex.encodeHex(strPsw.getBytes(), true);ecPsw = new String(cc).replace("\r|\n", "");dc = Hex.decodeHex(ecPsw.toCharArray());dcPsw = new String(dc).replaceAll("\r|\n", "");System.out.println("Original:" + strPsw);System.out.println("Hex:" + ecPsw);System.out.println("deHex:" + dcPsw + "\n");// Metaphone及 Soundex编码// Metaphone 建立出相同的key给发音相似的单字, 比 Soundex 还要准确, 但是 Metaphone 没有固定长度,// Soundex 则是固定第一个英文字加上3个数字. 这通常是用在类似音比对, 也可以用在 MP3 的软件开发.System.out.println("Metaphone or Soundex:");Metaphone metaphone = new Metaphone();RefinedSoundex refinedSoundex = new RefinedSoundex();Soundex soundex = new Soundex();for (int i = 0; i < 2; i++) {String str = (i == 0) ? "resume" : "resin";String mString = null;String rString = null;String sString = null;try {mString = metaphone.encode(str);rString = refinedSoundex.encode(str);sString = soundex.encode(str);} catch (Exception ex) {;}System.out.println("Original:" + str);System.out.println("Metaphone:" + mString);System.out.println("RefinedSoundex:" + rString);System.out.println("Soundex:" + sString + "\n");}}}
参考文章:
http://www.oschina.net/question/12_4981?fromerr=ZTPdDmBt
0 0
- commons-codec中[md5,sha,base64加密算法]的实现demo
- Apache commons codec |MD5 SHA BASE64 简单方便操作
- 加密算法中BASE64、MD5、SHA、HMAC等之间的区别
- java加密算法实现-BASE64、MD5、SHA、HMAC
- BASE64、MD5、SHA、HMAC几种加密算法
- BASE64、MD5、SHA、HMAC几种加密算法
- JAVA加密算法(BASE64,MD5,SHA)
- BASE64、MD5、SHA、HMAC几种加密算法
- BASE64、MD5、SHA、HMAC几种加密算法
- BASE64与单向加密算法MD5&SHA&MAC
- 单向加密算法-BASE64、MD5、SHA、HMAC
- BASE64、MD5、SHA、HMAC几种加密算法
- commons-codec 加密(MD5 SHA1 BASE64)
- apache commons-codec 与Apache Digest demo实例,支持md5 sha1 base64 hmac urlencode
- 使用工厂模式、策略模式实现BASE64,MD5,SHA,HMAC,DES各种加密算法
- Java中常用的加密算法应用MD5,SHA,RSA
- Java中常用的加密算法MD5,SHA,RSA
- Java中常用的加密算法应用MD5,SHA,RSA
- OpenCV 2.4+ C++ SVM介绍
- 《从零开始学Swift》学习笔记(Day 41)——类的继承
- [leetcode]Valid Anagram
- MVC 权限验证Filter
- git代码和版本流程控制
- commons-codec中[md5,sha,base64加密算法]的实现demo
- Android读取SeekBar数值方法
- OpenCV 2.4+ C++ SVM线性不可分处理
- android联系人获取,添加
- linux nc命令常用用法
- 记录一下关于融云推送消息
- win7休眠的开启与关闭方法
- Android中通过网络获取json数据来播放视频
- Rust语言中文版教程