JS加密插件CryptoJS实现的DES加密示例
本文实例讲述了JS加密插件CryptoJS实现的DES加密。分享给大家供大家参考,具体如下:
前面一篇《JS加密插件CryptoJS实现AES加密操作》介绍了CryptoJS插件的简单配置与使用,这里再来看看CryptoJS实现DES加密的方法:
Testingwebsockets varkey='BOTWAVEE'; //CBC模式加密 functionencryptByDESModeCBC(message){ varkeyHex=CryptoJS.enc.Utf8.parse(key); varivHex=CryptoJS.enc.Utf8.parse(key); encrypted=CryptoJS.DES.encrypt(message,keyHex,{ iv:ivHex, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7 } ); returnencrypted.ciphertext.toString(); } //CBC模式解密 functiondecryptByDESModeCBC(ciphertext2){ varkeyHex=CryptoJS.enc.Utf8.parse(key); varivHex=CryptoJS.enc.Utf8.parse(key); //directdecryptciphertext vardecrypted=CryptoJS.DES.decrypt({ ciphertext:CryptoJS.enc.Hex.parse(ciphertext2) },keyHex,{ iv:ivHex, mode:CryptoJS.mode.CBC, padding:CryptoJS.pad.Pkcs7 }); returndecrypted.toString(CryptoJS.enc.Utf8); } //DESECB模式加密 functionencryptByDESModeEBC(message){ varkeyHex=CryptoJS.enc.Utf8.parse(key); varencrypted=CryptoJS.DES.encrypt(message,keyHex,{ mode:CryptoJS.mode.ECB, padding:CryptoJS.pad.Pkcs7 }); returnencrypted.ciphertext.toString(); } //DESECB模式解密 functiondecryptByDESModeEBC(ciphertext){ varkeyHex=CryptoJS.enc.Utf8.parse(key); vardecrypted=CryptoJS.DES.decrypt({ ciphertext:CryptoJS.enc.Hex.parse(ciphertext) },keyHex,{ mode:CryptoJS.mode.ECB, padding:CryptoJS.pad.Pkcs7 }); varresult_value=decrypted.toString(CryptoJS.enc.Utf8); returnresult_value; } functiontest(){ varsource=$("#source").val(); varcc=encryptByDESModeEBC(CryptoJS.enc.Utf8.parse(source)); $("#target").val(cc); } functiontest1(){ varsource=$("#sourceS").val(); vardd=decryptByDESModeEBC(source); $("#jiemi").val(dd); } 加密前:
加密后:
密文:
解密后:
tripledes.js为DES主文件自带CBC模块
mode-ecb.js为DESECB模块
使用CBC模式引入tripledes.js
使用ECB模式引入tripledes.js+mode-ecb.js
PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:
在线
文字在线加密解密工具(包含AES、