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;
            }
        }
  • 相关阅读:
    详解著名的awk Oneliner,第三部分:选择性输出特定行
    显示特定行
    nWave指令
    make 命令
    VIM脚本变量
    terninal 快捷键
    vim 实现begin end 配对 使用matchit插件
    VIM删除重复行
    linux命令--find(1)
    zabbix--创建触发器
  • 原文地址:https://www.cnblogs.com/frankyou/p/6599099.html
Copyright © 2011-2022 走看看