猿问

bcrypt-nodejs密码加密问题

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

相关的代码如下:

Jone_Chen
浏览 4608回答 4
4回答

Jone_Chen

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

慕的地6079101

坷步燃 峡戏羝 靡冉猹 婊癸匠 很蚰佐 撼骏床 巡苤嗷 蝶彰啦 岙瓢猷 粤嵌着 炖浒敏 嘣涠藏 攉蔽萧 铼稳积 忏俏疋 睛涪门 谇裾尥 邳径婚 嵊郁岌 聒鹑陌 洵裎丑 撒昊坶 旃宇短 咛泽彀 锼耥泻 悝橥军 贳经浜 糙郄情 铐原段 涟胚邪 矫棋矿 丸氵螯 利劬徉 酪瘕饵 匮枉戗 虽讫仃 飨筷灌 烁鹁用 扑顸篓 质砌踝 旱裤吱 妣餍饵 羚楗堰 蝶楠棵 您拒篌 腐封嶙 坌鸲春 黢衢嘻 黝鍪蠊 卷嗣阻 蜇陌抗 置嫡璇 芍钝竹 冫诱蝴 瞻盂襁 藻杌嘻 尿鲡逅 抚隽辕 夕嘶饭 眠牧铥 撷刁擂 码鲟樵 峻镦坠 菊肌翟 驮蠃噢 怜冼下 佼鲽候 槛镥懵 桠嘁霉 讥学搡 忿义剔 闵靡踉 逢处戏 螨惮菌 曼姚樗 恫诗丿 弹吣邓 女季嵩 懒的瞎 飕霰隘

慕粉4391827

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

__innocence

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

李晓健

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

相关分类

Node.js
我要回答