• 【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

  • 相关阅读:
    powerdesigner得使用放法
    sql sever连接名忘记了该怎么办
    算法第四版 1.2.10
    算法第四版 1.2.8
    算法第四版 1.2.6
    算法第四版 1.2.2
    二分查找递归实现
    关于斐波那契数列和递归
    编写一段代码,打印一个M行N列的二维数组转置。(交换行和列)
    基础实验2-2.1 整数的分类处理 (20分)
  • 原文地址:https://www.cnblogs.com/gyjx2016/p/6117481.html
Copyright © 2020-2023  润新知