我是NodeJS开发的初学者,在进行身份验证时,我看到一些人直接在注册控制器函数中加密密码,而一些人使用在Mongoose的SAVE方法之前触发的中间件来加密密码. 我真的搞不懂两种做法的区别. 谁能告诉我最好的做法是什么?为什么?
我通常在注册控制器中加密密码
我是NodeJS开发的初学者,在进行身份验证时,我看到一些人直接在注册控制器函数中加密密码,而一些人使用在Mongoose的SAVE方法之前触发的中间件来加密密码. 我真的搞不懂两种做法的区别. 谁能告诉我最好的做法是什么?为什么?
我通常在注册控制器中加密密码
将其设置为存储库级别可确保不会以纯格式保存密码(这通常是您可能面临的最严重的安全风险).
将来,您可以添加多种方式来创建和保存新用户或更改他们的密码.将其设置为控制器级别会增加您不会注意到未在存储库级进行加密的风险,并且您可以以纯格式保存该密码.
也就是说,您添加了使用密码创建新用户的功能,2周后您添加了重置密码的功能-这是不同的控制器.