前端使用script加密解密

it2023-03-29  71

如下所示:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title3</title> </head> <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/crypto-js.js"></script> <body> <script> let signObj = '123asd456' value=JSON.stringify(signObj) console.log('这是:'+value) let encryptKey = '1234560000000000'; // 加密串 let encryptIv = '1234567890111111'; // 偏移值 let encryptValue = CryptoJS.enc.Utf8.parse(value); let keyHex = CryptoJS.enc.Utf8.parse(encryptKey); let ivHex = CryptoJS.enc.Utf8.parse(encryptIv); let encrypted = CryptoJS.AES.encrypt(encryptValue, keyHex, { iv: ivHex, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); console.log('加密结果:'+encrypted) console.log('带上url加密:'+encodeURIComponent(encrypted)) var decryptedData = CryptoJS.AES.decrypt(encrypted, keyHex, { iv: ivHex, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); console.log('解密1:'+decryptedData.toString(CryptoJS.enc.Utf8)) //解密 let encryptedHexStr = CryptoJS.enc.Hex.parse(encrypted.ciphertext.toString()); let encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr); let decryptedData2= CryptoJS.AES.decrypt(encryptedBase64Str, keyHex, { iv: ivHex, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); let text = decryptedData2.toString(CryptoJS.enc.Utf8); console.log('解密结果:'+text); </script> </body> </html>

结果如图所示:

最新回复(0)