ruby-on-rails - rails crypt_keeper gem的问题
问题描述
我在使用 crypt keeper gem 时遇到了一些麻烦。我使用的是 2.0.1 版。
我已经设法设置了所有元素,例如盐和密钥,并且我还成功地加密和解密了现有表。我已经使用 :active_support 和 :mysql_aes_new (使用 mariadb 10.7)完成了这项工作。
我最终决定我将不得不使用 :mysql_aes_new,因为已经表明这允许“快速索引和搜索数据”。
然而,当我使用 .where 指令使用示例范围时,我一直得到一个空的结果集。我真的不需要示例中指示的后续纯文本搜索。我已经尝试在表中加密的字段以及未加密的字段上执行此操作;无论如何,搜索会产生一个空集。
我可能错过了什么吗?具体来说,我正在尝试设置一个范围,如果我需要查找特定字段不为空的所有记录,例如:
record_set = Modelname.where('fieldname != ?', nil).order(id: desc)
除此之外,我正在尝试使用 update_column 为某些行设置值,并且沿着以下行抛出错误
Column :<FIELD_NAME> must be of type 'text' or 'binary' to be used for encryption
错误中指示的字段不是表中的第一个字段,而是第一个被加密的字段。然而,我不想更新那个领域,只是我感兴趣的那个。
很奇怪。有点神秘(双关语)。
解决方案
推荐阅读
- javascript - 如何从服务器向其他客户端发送请求并接收客户端的响应,然后在 node.js 中发送数据?
- visual-studio - 将 Web 应用连接到 Visual Studio Application Insights
- c# - 如何使用 PdfSharp 将 DocumentLink 添加到现有 PDF 文件
- python - 如何将 c_int_array 转换为 python 列表?
- botframework - 聊天机器人不工作 - HTTPS 内部服务器错误
- javascript - DOM 元素事件未触发
- rust - 如何使专业化编译成功?
- google-apps-script - 谷歌日历插件:如何实现“全选”复选框?
- c - 为 C 中的可读性分配“分组”
- python - 是否有任何函数可以使用python删除文件中每一行中的特定字符串