JS DES CBC加解密
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script type="text/javascript" src="js/core.js" ></script> <script type="text/javascript" src="js/cipher-core.js" ></script> <script type="text/javascript" src="js/tripledes.js" ></script> <script> function getResult(){ //待加密字符串 var str = document.getElementById("str").innerHTML; //加密方法 var enResult = encryptByDES(str,'BOTWAVEE','BOTWAVEE'); //解密方法 var deResult = decryptByDES(enResult,'BOTWAVEE','BOTWAVEE'); //展示结果 document.getElementById("enStr").innerHTML = enResult; document.getElementById("dnStr").innerHTML = deResult; } function encryptByDES(message,key,iv) { var keyHex = CryptoJS.enc.Utf8.parse(key); var ivHex = CryptoJS.enc.Utf8.parse(iv); encrypted = CryptoJS.DES.encrypt(message, keyHex, { iv:ivHex, mode: CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7 } ); return encrypted.ciphertext.toString(); } //DES CBC模式解密 function decryptByDES(ciphertext,key,iv) { //把私钥转换成UTF - 8编码的字符串 var keyHex = CryptoJS.enc.Utf8.parse(key); var ivHex = CryptoJS.enc.Utf8.parse(iv); var decrypted = CryptoJS.DES.decrypt({ ciphertext: CryptoJS.enc.Hex.parse(ciphertext) },keyHex,{ iv:ivHex, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } </script> </head> <body> <input type="button" value="获取加密结果与解密结果" onclick="getResult()" /> <table> <tr> <td align="left">字符串:</td> <td><span id="str">admin</span></td> </tr> <tr> <td align="left">加密结果:</td> <td align="left"><label id = "enStr"></label></td> </tr> <tr> <td align="left">解密结果: </td> <td align="left"><label id = "dnStr"></label></td> </tr> <table> </body> </html>
js下载地址链接:
https://pan.baidu.com/s/1Qx9OkpJU8WJKXklg2Yo1bA
提取码: epxf
更多加解密文件下载地址https://cdnjs.com/libraries/crypto-js/
本文由:xiaoshu168 作者:xiaoshu发表,转载请注明来源!