为了账号安全,请及时绑定邮箱和手机立即绑定

bcrypt-nodejs密码加密问题

/ 猿问

bcrypt-nodejs密码加密问题

Jone_Chen 2017-06-27 09:48:13

再使用MongoDB存储数据的时候,假设用户注册的时候,有用户名,密码,邮箱,手机号等等信息,这个数据是保存在一个user的表中,用户在注册的时候,密码肯定是被加密后保存在数据库的,但是当用户在在个人中心修改自己信息的时候,比如修改了手机号,这个时候修改之后还是需要保存在数据库的,再次保存的时候,之前的密码又会被加密,这个时候就会导致用户在登录的时候,密码匹配不成功,这种情况如何处理呢?

相关的代码如下:

http://img.mukewang.com/5951b9530001655106100541.jpg

查看完整描述

5 回答

?
Jone_Chen

已经解决了,对保存的时候做判断

查看完整回答
1 反对 回复 2017-06-27
?
慕粉4391827

恩,在保存的时候把password给过滤掉,执行save的时候检测如果没有password字段就自动过滤掉生成加密盐和加密的操作

查看完整回答
反对 回复 2017-06-28
?
__innocence

修改了手机号和密码有何关系?就算手机号是作为加密算法的“盐”,修改手机号的时候,你需要更新一下密码,也就是,再次将密码通过加盐的加密函数加密存进数据库,这样,新的密码就会把旧的密码覆盖掉。

查看完整回答
反对 回复 2017-06-27
?
李晓健

你把加密放到这个保存之前就好了,不要放到这个保存方法里面。如果是创建用户,他肯定会传密码字段给你,这时你就加密,如果他是修改,修改什么就传什么字段给你,如果他传给你的字段里没有密码,密码就用原来的值,不需要处理。

查看完整回答
反对 回复 2017-06-27

添加回答

回复

举报

0/150
提交
取消
意见反馈 邀请有奖 帮助中心 APP下载
官方微信