微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

尽管我必须这样做,但使用相同的初始向量进行加密是否被认为是一种不好的做法

如何解决尽管我必须这样做,但使用相同的初始向量进行加密是否被认为是一种不好的做法

我正在制作一个用户国家 ID 作为列的应用程序,确保此数据是敏感的,因此必须对其进行加密,因此我使用节点 JS 加密库进行加密和使用不推荐使用 createCipheriv 方法将其加密为 createCipher。让我想要使 初始向量 保持不变的原因是我希望用户使用他们的国家 ID 进行注册,首先将搜索该国家 ID 是否在我的数据库中可用,然后允许如果可用,他们注册这里的要点是我需要在数据库搜索 national id 所以我不能向它添加初始向量,因为它不可能找到,所以这可以吗因为我必须这样做,或者有更好的方法吗?

注意:首先使用 createCipheriv 的目的是我以后可能需要对其进行解密。

解决方法

是的,你真的不应该重复使用 IV。您的解决方案表明 id 是敏感的,因此不应是 IV。您可以将 IV 存储为另一列吗?它不需要加密。 IV 必须是唯一的,这是唯一的要求。您可以使用递增值或 GUID,类似的东西保证唯一

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。