Javascript实现AES加密解密(ECB/CBC)
生活随笔
收集整理的這篇文章主要介紹了
Javascript实现AES加密解密(ECB/CBC)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境配置
- js文件https://code.google.com/archive/p/crypto-js/downloads
- 在線AES加密解密地址http://tool.chacuo.net/cryptaes
- 下載完成后在頁面中引入
- rollups/aes.js
- components/mode-ecb.js
- components/pad-nopadding.js
- 引入后頁面
image.png
ECB加密解密
var key = CryptoJS.enc.Utf8.parse("zhgerXHBVaaKm8xy") var plaintText = 'onlystar' var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })console.log("加密前:"+plaintText) // 加密前:onlystar console.log("加密后:"+encryptedData) // 加密后:cp7hxlPgStaA4Jod5uKCuQ==encryptedData = encryptedData.ciphertext.toString()var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData) console.log("解密前hex:"+encryptedHexStr) // 解密前hex:729ee1c653e04ad680e09a1de6e282b9 var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr) console.log("解密前:"+encryptedBase64Str) // 解密前:cp7hxlPgStaA4Jod5uKCuQ== var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 })var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8) console.log("解密后:"+decryptedStr) // 解密后:onlystarCBC加密解密
var key = CryptoJS.enc.Utf8.parse("zhgerXHBVaaKm8xy") var plaintText = 'onlystar' var encryptedData = CryptoJS.AES.encrypt(plaintText, key, {iv: CryptoJS.enc.Utf8.parse(key),mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })console.log("加密前:"+plaintText) // 加密前:onlystar console.log("加密后:"+encryptedData) // 加密后:cp7hxlPgStaA4Jod5uKCuQ==encryptedData = encryptedData.ciphertext.toString()var encryptedHexStr = CryptoJS.enc.Hex.parse(encryptedData) console.log("解密前hex:"+encryptedHexStr) // 解密前hex:729ee1c653e04ad680e09a1de6e282b9 var encryptedBase64Str = CryptoJS.enc.Base64.stringify(encryptedHexStr) console.log("解密前:"+encryptedBase64Str) // 解密前:cp7hxlPgStaA4Jod5uKCuQ== var decryptedData = CryptoJS.AES.decrypt(encryptedBase64Str, key, { iv: CryptoJS.enc.Utf8.parse(key),mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 })var decryptedStr = decryptedData.toString(CryptoJS.enc.Utf8) console.log("解密后:"+decryptedStr) // 解密后:onlystar封裝方法
const DecryptEcb = (keyword, secretKey) => {try {let key = CryptoJS.enc.Utf8.parse(secretKey)let encryptedHexStr = CryptoJS.enc.Hex.parse(keyword)let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr)let decrypt = CryptoJS.AES.decrypt(srcs, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.NoPadding })let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8)return decryptedStr.toString()} catch (error) {console.log(error)return ''} }使用
const { username, password, secretKey } = data // 解密 const user = DecryptEcb(username, secretKey) const pwd = DecryptEcb(password, secretKey)賞
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Javascript实现AES加密解密(ECB/CBC)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python saml2 认证实例程序d
- 下一篇: Linux Shell编程之输入输出重定