我将 ActiveRecordserialize
方法与我自己的一个类一起使用,AESCoder
. 这将每次使用带有随机初始化向量的 aes-256-cbc。当我将它存储在数据库中时,这个初始化向量被预先添加到字段中,并且当然是在反序列化之前提取的。
现在,这个方案阻止我对这些属性使用任何查找器。我必须选择我需要的所有行,这些行将被自动解密,并在select
项目列表上执行 ruby。当然,这是一个巨大的性能瓶颈,我无法负担这个应用程序。
一种解决方案是不使用随机 IV,但 aes-256-cbc 将不再安全。
我在这里忽略了什么吗?