欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

前端des加密,后端des解密

程序员文章站 2024-03-14 10:44:28
...
  1. 使用 crypto-js.min.js 的des加密方式加密数据
  2. 下载地址 https://cdnjs.com/libraries/crypto-js
  3. 前端加密方式
     
    // 加密方法
    function Encrypt(word,skey) {
        var keyHex = CryptoJS.enc.Utf8.parse(skey);
        let encrypted = CryptoJS.AES.encrypt(word, keyHex, {
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
        });
        return encrypted.toString()
    }

     

  4. 后端解密方式
     
        /**
         * 解密数据
         * @param hexStr
         * @param sKey
         * @return
         * @throws Exception
         */
        public static String decrypt_loginInfo(String hexStr,String key) throws Exception {
            byte[] contentNew = Base64.decodeBase64(hexStr);
            SecretKeySpec skeySpec = new SecretKeySpec(key.getBytes("UTF-8"), "AES");
            Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding");
            cipher.init(Cipher.DECRYPT_MODE, skeySpec);
            return new String(cipher.doFinal(contentNew));
        }
    
    
         /**
         * 随机生成加密串 length加密串长度
         * @return
         */
        public static String generateRandomKey(int length){
            String base = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789/=+";
            Random random = new Random();
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < length; i++) {
                int number = random.nextInt(base.length());
                sb.append(base.charAt(number));
            }
            return sb.toString();
        }