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

  • 相关阅读:
    python学习-10 运算符1
    python学习-9 pycharm的安装
    python学习-8 用户有三次机会登陆
    python学习-7 条件语句 while循环 + 练习题
    python学习-6 猜拳小游戏
    python学习-5 python基础-2 条件语句(if的简单用法2---elif)
    python学习-4 python基础-2 条件语句(if的简单用法1)
    python学习-3 python基础-1基础知识和解释器
    RaspBerry--解决无法用 ssh 直接以 root 用户登录
    NetWork--HTTPS 原理解析<转>
  • 原文地址:https://www.cnblogs.com/gyjx2016/p/6117481.html
Copyright © 2011-2022 走看看