MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。
MD5.js中共有6中加密方式:
1 hex_md5(value) 2 3 b64_md5(value) 4 5 str_md5(value) 6 7 hex_hmac_md5(key, data) 8 9 b64_hmac_md5(key, data) 10 11 str_hmac_md5(key, data)
MD5加密优缺点:
1,用js对私密信息加密可避免在网络中输入明文信息,被他人截取数据包而造成数据泄露。
2,避免缓存中自动缓存密码。比如在使用火狐浏览器登陆时,输入的用户名及密码自动缓存后,下次登陆无需输入密码就可实现登录,这样就给别人留下了漏洞,当别人使用你的电脑登陆那么你的密码就泄露了。使用js加密时,缓存的加密后的密文,用密文做密码登录是不成功的,即使泄露也是泄露的密文,对密码不会造成威胁。 缺点是: 每次登陆时都要手动输入密码,比较麻烦。
3,使用js加密,减少了服务器加密时的资源消耗,从理论上提高了服务器的性能。为了安全,很有必要在做服务端的加密,无论从理论还是实际,两道门比一道门要安全些,至少给攻击者造成了一个障碍。
使用方法:
1 <script src="js/md5.js"></script> 2 <script> 3 var code = "123456"; 4 var username = "123456"; 5 var password = "123456"; 6 var str1 = hex_md5("123456"); 7 var str2 = b64_md5("123456"); 8 var str3 = str_md5("123456"); 9 var str4 = hex_hmac_md5(code,code); 10 var str5 = b64_hmac_md5(username,username); 11 var str6 = str_hmac_md5(password,password); 12 console.log(str1); // e10adc3949ba59abbe56e057f20f883e 13 console.log(str2); // 4QrcOUm6Wau+VuBX8g+IPg 14 console.log(str3); // áÜ9IºY«¾VàWò> 15 console.log(str4); // 30ce71a73bdd908c3955a90e8f7429ef 16 console.log(str5); // MM5xpzvdkIw5VakOj3Qp7w 17 console.log(str6); // 0Îq§;Ý9U©t)ï 18 </script>
参考链接:https://www.cnblogs.com/CooLLYP/p/8628467.html