zoukankan      html  css  js  c++  java
  • 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包

  • 相关阅读:
    太鼓达人
    DB2中循环日期跑数据
    DB2分区表删除和添加分区
    DB2日常运维之总结(转)
    oracle SQL not in null,单列,复合列
    利用rlwrap配置linux下oracle sqlplus 历史记录回调
    Oracle非默认监听的处理会遇到的问题以及处理方法
    Sqlserver循环嵌套
    rman全备份异机恢复
    Windows系统下Oracle数据库冷备
  • 原文地址:https://www.cnblogs.com/zrbfree/p/5659848.html
Copyright © 2011-2022 走看看