Tom*_*čka 4 encryption api-design
我正在制作一个需要登录的应用程序。
我使用node.js作为API。
我知道我必须在后端加密密码,以防数据库被盗。但是,如果由于某种原因 HTTPS 失败或者我们这边的某些开发人员有恶意,如果前端也没有加密,他/她就可以轻松窃取原始密码。
所以我的问题是,如果我在后端使用 Argon2 并在前端使用 BCrypt 会出现问题吗?
(另外我认为 Argon2 更快,所以如果攻击者想要暴力破解,他也必须使用慢速的,而不是我的 api 重载他/她的 shannigans)
我知道有一些类似的问题,但他们问我是否应该使用其中一个或另一个,答案是后端和 HTTPS。
我将使用 HTTPS 和后端加密。但我问是否也可以(或一个好主意)在前端使用加密。
Argon2 和 BCrypt 不是加密算法。它们是密码扩展器(正式名称为“PBKDF”或“基于密码的密钥派生函数”)。然而,同时使用两者是没有意义的。
您正在寻找的设计是这样的:
第一部分保护用户。他们的密码永远不会离开他们的机器。第二部分保护您的数据库。即使它被盗,攻击者也无法使用存储在那里的哈希值来登录您的系统。