本文实例讲述了js使用插件cryptojs进行加密解密数据。分享给大家供大家参考,具体如下:
<!doctype html> <html> <head> <meta charset="utf-8"> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>testing websockets</title> <script type="text/javascript" src="jquery-1.10.1.js"></script> <script src="tripledes.js"></script> <script src="mode-ecb-min.js"></script> <script type="text/javascript"> var key = 'botwavee'; //cbc模式加密 function encryptbydesmodecbc(message) { var keyhex = cryptojs.enc.utf8.parse(key); var ivhex = cryptojs.enc.utf8.parse(key); encrypted = cryptojs.des.encrypt(message, keyhex, { iv:ivhex, mode: cryptojs.mode.cbc, padding:cryptojs.pad.pkcs7 } ); return encrypted.ciphertext.tostring(); } //cbc模式解密 function decryptbydesmodecbc(ciphertext2) { var keyhex = cryptojs.enc.utf8.parse(key); var ivhex = cryptojs.enc.utf8.parse(key); // direct decrypt ciphertext var decrypted = cryptojs.des.decrypt({ ciphertext: cryptojs.enc.hex.parse(ciphertext2) }, keyhex, { iv:ivhex, mode: cryptojs.mode.cbc, padding: cryptojs.pad.pkcs7 }); return decrypted.tostring(cryptojs.enc.utf8); } //des ecb模式加密 function encryptbydesmodeebc(message){ var keyhex = cryptojs.enc.utf8.parse(key); var encrypted = cryptojs.des.encrypt(message, keyhex, { mode: cryptojs.mode.ecb, padding: cryptojs.pad.pkcs7 }); return encrypted.ciphertext.tostring(); } //des ecb模式解密 function decryptbydesmodeebc(ciphertext){ var keyhex = cryptojs.enc.utf8.parse(key); var decrypted = cryptojs.des.decrypt({ ciphertext: cryptojs.enc.hex.parse(ciphertext) }, keyhex, { mode: cryptojs.mode.ecb, padding: cryptojs.pad.pkcs7 }); var result_value = decrypted.tostring(cryptojs.enc.utf8); return result_value; } function test(){ var source = $("#source").val(); var cc = encryptbydesmodeebc(cryptojs.enc.utf8.parse(source)); $("#target").val(cc); } function test1(){ var source = $("#sources").val(); var dd = decryptbydesmodeebc(source); $("#jiemi").val(dd); } </script> </head> <body> <div> 加密前:<textarea id="source" value="" style="width:500px;height:90px;" /></textarea> <hr> 加密后:<textarea id="target" value="" style="width:500px;height:90px;" ></textarea> <hr> <input type="button" onclick="test();" name="" value="加密" /> <hr> 密文:<textarea id="sources" value="" width="400px" style="width:500px;height:90px;" ></textarea> <hr> 解密后:<textarea id="jiemi" value="" style="width:500px;height:90px;" ></textarea> <hr> <input type="button" onclick="test1();" name="" value="解密"/> </div> </body> </html>
ps:关于加密解密感兴趣的朋友还可以参考本站在线工具:
base64编码解码工具:
密码安全性在线检测:
高强度密码生成器:
md5在线加密工具:
在线散列/哈希算法加密工具:
在线md5/hash/sha-1/sha-2/sha-256/sha-512/sha-3/ripemd-160加密工具:
在线sha1/sha224/sha256/sha384/sha512加密工具:
更多关于javascript相关内容可查看本站专题:《javascript加密解密技巧汇总》、《javascript切换特效与技巧总结》、《javascript查找算法技巧总结》、《javascript错误与调试技巧总结》、《javascript数据结构与算法技巧总结》、《javascript遍历算法与技巧总结》及《javascript数学运算用法总结》
希望本文所述对大家javascript程序设计有所帮助。
如对本文有疑问, 点击进行留言回复!!
vuejs (2)- Vue 生命周期 和 VueJS ajax
vue axios blob下载文件,文件下载失败将blob的错误信息转换成json格式
网友评论