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;
            }
        }
    复制代码
  • 相关阅读:
    下载文件
    Cookie方法
    阿拉伯数字转大写
    格式化日期
    正向代理与反向代理
    get post 区别
    gulp
    什么是javascript中的同步&&异步?
    懒加载
    js操作dom时发生了什么?
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10239322.html
Copyright © 2011-2022 走看看