使用Crypto-JS进行加密解密的简单方法
Crypto-JS是一个javascript加密解密库,使用该库进行加密解密的在线工具如:https://tool.oschina.net/encrypt
这个库的用法比较简单,相关文件可以在上面的页面查看html找到,我也备份了:https://github.com/setycyas/WebTools/tree/gh-pages/libs/Crypto-JS
文件众多,总结起来就2种,一个是核心文件core-min.js,其他的都是具体的某一种加密方法.
使用时必须加载core-min.js,然后使用哪种加密解密就加载哪个加密文件,看名字就知道是什么加密,只有 tripledes.js比较特殊,包括DES与TripleDES两种加密解密.
加密函数的参数是:(明文字符串, 密码字符串),返回密文字符串.加密函数是:CryptoJS.AES.encrypt, CryptoJS.DES.encrypt,CryptoJS.Rabbit.encrypt,CryptoJS.RC4.encrypt,CryptoJS.TripleDES.encrypt
解密函数的参数是:(密文字符串, 密码字符串),返回的结果必须用.toString(CryptoJS.enc.Utf8)转为明文.解密函数是:CryptoJS.AES.decrypt, CryptoJS.DES.decrypt,CryptoJS.Rabbit.decrypt,CryptoJS.RC4.decrypt,CryptoJS.TripleDES.decrypt
我自制的函数举例:
/* 加密,解密函数,接受与输出都是utf-8 */
/* 加密函数,参数为:明文,密码,加密类型,返回加密结果 */
function encrypt(src, pw, encryptType){
var encryptFunction;
switch(encryptType.toLowerCase()){
case "aes":
encryptFunction = CryptoJS.AES.encrypt;
break;
case "des":
encryptFunction = CryptoJS.DES.encrypt;
break;
case "rabbit":
encryptFunction = CryptoJS.Rabbit.encrypt;
break;
case "rc4":
encryptFunction = CryptoJS.RC4.encrypt;
break;
case "tripledes":
encryptFunction = CryptoJS.TripleDES.encrypt;
break;
}
return encryptFunction(src, pw);
}
/* 解密函数,参数: 密文,密码,解密类型,返回解密结果 */
function decrypt(code, pw, decryptType){
var decryptFunction;
switch(decryptType.toLowerCase()){
case "aes":
decryptFunction = CryptoJS.AES.decrypt;
break;
case "des":
decryptFunction = CryptoJS.DES.decrypt;
break;
case "rabbit":
decryptFunction = CryptoJS.Rabbit.decrypt;
break;
case "rc4":
decryptFunction = CryptoJS.RC4.decrypt;
break;
case "tripledes":
decryptFunction = CryptoJS.TripleDES.decrypt;
break;
}
return decryptFunction(code, pw).toString(CryptoJS.enc.Utf8);
}本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!