关于MD5:
MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件。
在本案例中 可以看到MD5共有6种加密方法:
1, hex_md5(value)
2, b64_md5(value)
3, str_md5(value)
4, hex_hmac_md5(key, data)
5, b64_hmac_md5(key, data)
6, str_hmac_md5(key, data)
下载地址: 点击下载
MD5加密优缺点:
1,用js对私密信息加密可避免在网络中输入明文信息,被他人截取数据包而造成数据泄露。
2,避免缓存中自动缓存密码。比如在使用火狐浏览器登陆时,输入的用户名及密码自动缓存后,下次登陆无需输入密码就可实现登录,这样就给别人留下了漏洞,当别人使用你的电脑登陆那么你的密码就泄露了。使用js加密时,缓存的加密后的密文,用密文做密码登录是不成功的,即使泄露也是泄露的密文,对密码不会造成威胁。 缺点是: 每次登陆时都要手动输入密码,比较麻烦。
3,使用js加密,减少了服务器加密时的资源消耗,从理论上提高了服务器的性能。为了安全,很有必要在做服务端的加密,无论从理论还是实际,两道门比一道门要安全些,至少给攻击者造成了一个障碍。
使用详情:
<script src="js/md5.js"></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); // áÜ9IºY«¾VàWò> console.log(str4); // 30ce71a73bdd908c3955a90e8f7429ef console.log(str5); // MM5xpzvdkIw5VakOj3Qp7w console.log(str6); // 0Îq§;Ý9U©t)ï </script>