前端js几种加密/解密方法
一、base64加密
base64的github地址
示例
<script src="md5/md5.js">script>">script>
<script>
var code = "123456";
var username = "123456";
var password = "123456";
var str1 = hex_md5("123456");
var str2 = b64_md5("123456");
var str3 = str_md5("123456");
var str4 = hex_hmac_md5(code,code);
var str5 = b64_hmac_md5(username,username);
var str6 = str_hmac_md5(password,password);
console.log(str1); // e10adc3949ba59abbe56e057f20f883e
console.log(str2); // 4QrcOUm6Wau+VuBX8g+IPg
console.log(str3); // áü9IoY??VàWò??>
console.log(str4); // 30ce71a73bdd908c3955a90e8f7429ef
console.log(str5); // MM5xpzvdkIw5VakOj3Qp7w
console.log(str6); // 0?q§;Y??9U???t)?
script>
输出结果
三、sha1加密(不可逆)
sha1的github地址
此处没找到sha1.js下载地址,所以在bootcdn中找在线文件到引入,需要的可自行从bootcdn中下载
<script type="text/javascript">
var escape1 =escape("我的名字是:mosquito~");//编码
console.log(escape1);
var unescape1 = unescape(escape1); //解码
console.log(unescape1);
script>
输出结果
五、AES/DES加密解密
下载crypto-js.js 引入使用 网址是点击下载
var aseKey = "12345678" //秘钥必须为:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt); //VKrZlqykem73x8/T2oCfCQ==
//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt); //80018000142
【注】:加密的时候必须转成字符串 使用toString。 解密的时候 必须使用utf8的格式