我在使用crypt keeper ge时遇到了一些麻烦。我正在使用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
错误中指示的字段不是表中的第一个字段,而是第一个加密的字段。但是,我没有尝试更新该字段,只有我感兴趣的那个字段。
很奇怪。有点神秘(意为双关语)。