在应用中,常常有要将用户的密码加密储存的需要。以明文保存密码有个缺点:一旦泄漏时容易造成极大的损失,可能会连带其他网站的用户、密码也造成损失(因为大多数用户在多数网站使用相同的账号与密码)。
为了防止在密码明文泄漏,我们需要对在数据库中保存的密码字段进行不可逆加密。准确地说,是加密以后再保存到数据库中。
常用的不可逆加密算法有MD5与SHA-1。
md5加密
MD5是一种常用的哈希算法。用于给任意数据一个"签名",这个签名通常用一个十六进制的字符串标识。
在页面中引用md5.js文件,调用方法为:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>md5加密</title> <script type="text/ecmascript" src="md5.js"></script> <script type="text/javascript"> var hash = hex_md5("123dafd"); alert(hash) </script> </head> <body> </body> </html>
sha1加密
sha1哈希加密。对强行攻击的强度更大,但是循环步骤比MD5多,处理的缓存大,所以相同硬件下,运行速度比MD5慢。
页面中引入sha1.js,调用方法为:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>sha1加密</title> <script type="text/ecmascript" src="sha1.js"></script> <script type="text/javascript"> var sha = hex_sha1('mima123465') alert(sha) </script> </head> <body> </body> </html>
网友评论文明上网理性发言 已有0人参与
发表评论: