zoukankan      html  css  js  c++  java
  • Java DES 加解密("DES/CBC/PKCS5Padding")

        /**
         * DES加密
         *
         * @param data 加密数据
         * @param key  密钥
         * @return 返回加密后的数据
         */
        public static byte[] desEncrypt(byte[] data, String key, String charset) {
            try {
                Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
                byte[] k = charset == null || charset.trim().isEmpty() ? key.getBytes() : key.getBytes(charset);
                SecretKey secretKey = SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(k));
                cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(k));
                return cipher.doFinal(data);
            } catch (Exception e) {
                return null;
            }
        }
    
        /**
         * DES解密
         *
         * @param data 解密数据
         * @param key  密钥
         * @return 返回解密后的数据
         */
        public static String desDecrypt(byte[] data, String key, String charset) {
            try {
                Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
                byte[] k = charset == null || charset.trim().isEmpty() ? key.getBytes() : key.getBytes(charset);
                cipher.init(Cipher.DECRYPT_MODE, SecretKeyFactory.getInstance("DES").generateSecret(new DESKeySpec(k)), new IvParameterSpec(k));
                if (charset == null || charset.trim().isEmpty()) {
                    return new String(cipher.doFinal(data));
                }
                return new String(cipher.doFinal(data), charset);
            } catch (Exception e) {
                return null;
            }
        }
  • 相关阅读:
    kali-linux镜像下载
    清除数据库所有表
    家庭医生项目进展
    2020年度发展规划的要点
    Sql Server数据类型
    window server2012R2激活
    C#介绍
    WebApi自动接口文档Swagger汉化和添加Token验证
    SQL Server 数据库内部版本号
    用户定义表类型
  • 原文地址:https://www.cnblogs.com/frankyou/p/6599099.html
Copyright © 2011-2022 走看看