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

  • 相关阅读:
    Collection(集合)知识点总结
    【Mysql 学习】mysql 的使用复习
    解决Address localhost:1099 is already in use
    mysql8.0中dcl语句修改密码的语法
    mysql+sqlyog 多表查询练习
    MySQL 8.0 Public Key Retrieval is not allowed 错误的解决方法
    JDBC连接Mysql 8.0.12版本的几个注意事项
    JSTL学习
    64-多个参数个数
    63-参数的使用
  • 原文地址:https://www.cnblogs.com/gyjx2016/p/6117481.html
Copyright © 2011-2022 走看看