前端DES加密

1、下载crypto.js文件库

  https://github.com/brix/crypto-js/releases

2、引入文件

<script type="text/javascript" src="js/jquery.min.js"></script>
<script src="js/rollups/tripledes.js"></script>
<script src="js/components/mode-ecb.js"></script>

3、加解密

            //DES 加密
            function encryptByDES(message, key) {
                    var keyHex = CryptoJS.enc.Utf8.parse(key);
                    var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
                        mode: CryptoJS.mode.ECB,
                        padding: CryptoJS.pad.Pkcs7
                    });
                    return encrypted.toString();
              }
             
             //DES 解密
            function decryptByDES(ciphertext, key) {
                var keyHex = CryptoJS.enc.Utf8.parse(key);
                // direct decrypt ciphertext
                var decrypted = CryptoJS.DES.decrypt({
                    ciphertext: CryptoJS.enc.Base64.parse(ciphertext)
                }, keyHex, {
                    mode: CryptoJS.mode.ECB,
                    padding: CryptoJS.pad.Pkcs7
                });
                return decrypted.toString(CryptoJS.enc.Utf8);
            }    

4、前后端协商密钥进行开发

注意:以上加密js库默认加密之后是十六进制的,但是项目里面使用的js库可能为了实现什么原因被修改了,改成64进制了,所以在后端解密之前也需要前端将其转成64进制

否则,java运行会报错

原文地址:https://www.cnblogs.com/gopark/p/10478612.html