如何在attr_encrypted中搜索加密字段



我已经在我的应用程序中设置了attr_encrypted,每条记录都有单独的'iv'。

# Fields
User.e_name
User.e_name_iv

我正在尝试在用户表中搜索已知名称。我试过:

User.find_by_name("Joe Bloggs") # undefined method "find_by_name" for Class
User.where("name = ?", "Joe Bloggs").first # column "name" does not exist
User.where(:e_name => User.encrypt_name("Joe Bloggs"))  # must specify an iv

如何按名称查找记录?

虽然可以进行一些搜索,但不是很实用。 您必须潜在地遍历每条记录,尝试每个相应的 IV,直到您获得完全匹配,具体取决于您拥有的记录数量,这将不是很实用。

你读过自述文件吗? https://github.com/attr-encrypted/attr_encrypted#things-to-consider-before-using-attr_encrypted

搜索、加入等

虽然选择在属性级别加密是最安全的 解决方案,并非没有缺点。也就是说,您无法搜索 加密数据,因为您无法搜索它,所以无法为其编制索引 也。也不能对加密数据使用联接。数据是 安全加密实际上是噪音。因此,任何依赖的操作 在数据上不是噪音将不起作用。如果您需要执行以下任何操作 上述操作,请考虑使用数据库和文件 系统加密以及传输加密 您的堆栈。

相关内容

  • 没有找到相关文章

最新更新