本文实例讲述了NodeJS实现不可逆加密与密码密文保存的方法。分享给大家供大家参考,具体如下:
在应用中,常常有要将用户的密码加密储存的需要。
以明文保存密码有个缺点:
一旦泄漏时容易造成极大的损失,可能会连带其他网站的用户、密码也造成损失(因为大多数用户在多数网站使用相同的账号与密码)。这个泄漏可能来自于两方面:骇客入侵与运维人员监守自盗。
为了防止在密码明文泄漏,我们需要对在数据库中保存的密码字段进行不可逆加密。准确地说,是加密以后再保存到数据库中。
常用的不可逆加密算法有
在NodeJS中,它们的使用极为简便,直接使用官方内建的 用户注册时,将用户提交的密码先不可逆加密,然后将密文保存在数据库内。 用户登录时,将用户提交的密码先以相同方式加密,然后与数据库中的密文比对,来判断密码的正误。 理论上有无数个密码对应同一个Hash值,不过不用过于担心被撞表的风险,因为相比之下,你的Web服务器与数据库可能会在泛洪攻击中先行崩溃。 PS:关于加密解密感兴趣的朋友还可以参考本站在线工具:crypto
包即可:
MD5
在线加密工具:文字在线加密解密工具(包含AES、DES、RC4等):
希望本文所述对大家nodejs程序设计有所帮助。