zoukankan      html  css  js  c++  java
  • 加解密工具类

    import com.for.vsolution.hx.travel.common.constant.EncryptionTypeEnum;
    import com.for.vsolution.hx.travel.common.constant.MyRuntimeException;
    import com.for.vsolution.hx.travel.common.util.encrypt.Aes256EncryptUtils;
    import com.for.vsolution.hx.travel.common.util.encrypt.AesEncryptUtil;
    import com.for.vsolution.hx.travel.common.util.encrypt.MD5Util;
    import com.for.vsolution.hx.travel.common.util.encrypt.RsaUtil;
    import org.apache.commons.lang3.StringUtils;
    import org.springframework.beans.factory.annotation.Value;
    import org.springframework.stereotype.Component;

    /**
    * @description: 加解密工具类
    * @date: 2019-08-26 14:17
    */

    @Component
    public class EncryptionUtil {


    @Value("${rsa.publicKey}")
    private String publicKey;
    @Value("${rsa.privateKey}")
    private String privateKey;

    /**
    * 加密
    * @param dataSource
    * @param encryptionType
    * @return
    */
    public String encryption(String dataSource, EncryptionTypeEnum encryptionType){
    if (StringUtils.isBlank(dataSource)){
    return null;
    }
    String encrypt=null;
    try {
    switch (encryptionType){
    case AES:
    encrypt = AesEncryptUtil.encrypt(dataSource);
    break;
    case MD5:
    encrypt = MD5Util.MD5(dataSource);
    break;
    case RSA:
    encrypt = RsaUtil.encryptByPubKey(dataSource,publicKey);
    break;
    case AES256:
    encrypt = Aes256EncryptUtils.encrypt(dataSource);
    break;
    default:
    break;
    }
    }catch (Exception e){
    throw new MyRuntimeException("加密异常");
    }
    return encrypt.trim();
    }

    public String decryption(String dataSource,EncryptionTypeEnum encryptionType){

    if (StringUtils.isBlank(dataSource)){
    return null;
    }
    String encrypt=null;
    try {
    switch (encryptionType){
    case AES:
    encrypt = AesEncryptUtil.desEncrypt(dataSource);
    break;
    case MD5:
    throw new MyRuntimeException("MD5无法解密");
    case RSA:
    encrypt = RsaUtil.decryptByPriKey(dataSource,privateKey);
    break;
    case AES256:
    encrypt = Aes256EncryptUtils.desEncrypt(dataSource);
    break;
    default:
    break;
    }
    }catch (Exception e){
    e.printStackTrace();
    return dataSource;
    }
    return encrypt.trim();
    }

    public static void main(String[] args) {

    EncryptionUtil encryptionUtil = new EncryptionUtil();
    String name = encryptionUtil.decryption("ppp02125166", EncryptionTypeEnum.AES256);
    System.out.println("+++++++++++++++++++++" + name);

    }

    }
  • 相关阅读:
    GCC的gcc和g++的区别
    C++运行程序依赖的环境-vcredist_x64.exe
    linux账户管理[转自vbird]
    Linux 的账号与群组[转自vbird]
    文件的搜寻【转vbird】
    常用的文件和目录操作命令【转vbird】
    十六进制查看器【转】
    文件与目录的默认权限与隐藏权限【转vbird】
    改变文件属性与权限(转)
    Linux目录规范和含义(转)
  • 原文地址:https://www.cnblogs.com/pxzbky/p/12105818.html
Copyright © 2011-2022 走看看