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

bcrypt-nodejs密码加密问题

bcrypt-nodejs密码加密问题

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

4 回答

?
Jone_Chen

TA贡献2条经验 获得超1个赞

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

查看完整回答
1 反对 回复 2017-06-27
  • 儒家弟子
    儒家弟子
    请问一下如何处理的么,我看评论还是没有明白
?
慕粉4391827

TA贡献1条经验 获得超0个赞

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

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

TA贡献313条经验 获得超208个赞

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

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

TA贡献1036条经验 获得超461个赞

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

查看完整回答
反对 回复 2017-06-27
  • 4 回答
  • 0 关注
  • 4487 浏览

添加回答

举报

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