【发布时间】:2020-02-10 00:29:59
【问题描述】:
所以我正在加密数据库中的字段,但我认为我不能加密用户的username 或email,因为我使用这些字段来查找用户。我可以对它们进行哈希处理,但由于我认为我不能为每个用户名/电子邮件使用唯一的盐,所以有人可以使用彩虹表来查找隐藏的用户名/电子邮件。
我想这可以不加密它们吗?我想让网站尽可能安全。散列它们有意义吗?我可以通过他们的_id 而不是username/email 找到用户,但在找到用户之前我不会拥有他们的_id。
我目前在做什么:
const user = await new db.userModel({
email: email,
username: username,
stuff: cryptr.encrypt(stuff),
});
////
const user = await db.userModel.findOne({
email: email
}).exec();
编辑:我猜散列没有意义,因为我无法取消散列用户名/电子邮件。不知道我在想什么。
【问题讨论】:
标签: database mongodb express mongoose