crypto-js aes加解密
引入依赖
<script type="text/javascript" src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/aes.min.js"></script>
html
key:<input id="key" value=""> <!--<input id="iv" value="">--> 原码:<input id="pass" value=""> 加密:<input id="passaes" value=""> <button onclick="onEncryptedAes()">加</button> <button onclick="onDecryptedAes()">解</button>
js
function onEncryptedAes(){ let str = $('#pass').val() let key = $('#key').val() let iv = '0123456789abcdef'; if(key.length<16){ let length = 16-key.length for(let i = 0;i<length;i++){ key+='l' } } let keyAes = CryptoJS.enc.Utf8.parse(key); let ivAes = CryptoJS.enc.Utf8.parse(iv); let encrypted = CryptoJS.AES.encrypt(str, keyAes, { iv: ivAes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); // 转换为字符串 let encryptedAes = encrypted.toString(); $('#passaes').val(encryptedAes) } function onDecryptedAes(){ let stra = $('#passaes').val() let key = $('#key').val() let iv = '0123456789abcdef'; if(key.length<16){ let length = 16-key.length for(let i = 0;i<length;i++){ key+='l' } } let keyAes = CryptoJS.enc.Utf8.parse(key); let ivAes = CryptoJS.enc.Utf8.parse(iv); let decrypted = CryptoJS.AES.decrypt(stra, keyAes, { iv: ivAes, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); // 转换为 utf8 字符串 let decryptedAes = CryptoJS.enc.Utf8.stringify(decrypted); $('#pass').val(decryptedAes) }
本文来自博客园,作者:秋~殇,转载请注明原文链接:https://www.cnblogs.com/autumn-devil/p/15752755.html

浙公网安备 33010602011771号