1 正常写法
// 引用 crypto-js 加密模块 var CryptoJS = require('crypto-js') function desEncrypt() { var key = CryptoJS.enc.Utf8.parse(desKey), iv = CryptoJS.enc.Utf8.parse(desIv), srcs = CryptoJS.enc.Utf8.parse(text), // CBC 加密模式,Pkcs7 填充方式 encrypted = CryptoJS.DES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } function desDecrypt() { var key = CryptoJS.enc.Utf8.parse(desKey), iv = CryptoJS.enc.Utf8.parse(desIv), srcs = encryptedData, // CBC 加密模式,Pkcs7 填充方式 decrypted = CryptoJS.DES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } var text = "I love Python!" // 待加密对象 var desKey = "6f726c64f2c2057" // 密钥 var desIv = "0123456789ABCDEF" // 初始向量 var encryptedData = desEncrypt() var decryptedData = desDecrypt() console.log("加密字符串: ", encryptedData) console.log("解密字符串: ", decryptedData) // 加密字符串: +ndbEkWNw2QAfIYQtwC14w== // 解密字符串: I love Python!
2.之前遇到过一个 他的做法有点与众不同
返回的密文不太一样 解密时候也有点区别,但是整体可以正常运行 不太理解 先贴着代码
// 引用 crypto-js 加密模块 var CryptoJS = require('crypto-js') function desEncrypt() { var key = CryptoJS.enc.Utf8.parse(desKey), iv = CryptoJS.enc.Utf8.parse(desIv), srcs = CryptoJS.enc.Utf8.parse(text), // CBC 加密模式,Pkcs7 填充方式 encrypted = CryptoJS.DES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return encrypted.ciphertext.toString(); } function desDecrypt() { var key = CryptoJS.enc.Utf8.parse(desKey), iv = CryptoJS.enc.Utf8.parse(desIv), ciphertext = CryptoJS.enc.Hex.parse(encryptedData) return CryptoJS.DES.decrypt({ ciphertext: ciphertext }, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }).toString(CryptoJS.enc.Utf8) } var text = "I love Python!" // 待加密对象 var desKey = "6f726c64f2c2057" // 密钥 var desIv = "0123456789ABCDEF" // 初始向量 var encryptedData = desEncrypt() var decryptedData = desDecrypt() console.log("加密字符串: ", encryptedData) console.log("解密字符串: ", decryptedData) // 加密字符串: fa775b12458dc364007c8610b700b5e3 // 解密字符串: I love Python!
posted on
浙公网安备 33010602011771号