ruby-on-rails - 使用 attr_encrypted 使用新密钥加密新数据(覆盖旧数据)
问题描述
我必须编写一个脚本,用虚拟(但有效)数据替换现有数据。该脚本应仅填充已在每条记录上填充的字段。我不应该将虚拟数据放入以前不存在数据的字段中。任何人都可以帮助创建脚本吗?
我正在使用attr_encrypted
,我想用新数据覆盖现有数据,使用新密钥。我怎样才能做到这一点?
我的示例代码供您参考:
License.where.not(license_number: nil).each do |number|
number.update_attribute(:license_number, Faker::Number.number(6)) 结束
尝试更新时,我收到错误我认为这是由于尝试首先尝试OpenSSL::Cipher::CipherError: bad decrypt
的事实-由于密钥不同,这显然不起作用。有什么想法可以编写新数据并使用新的新密钥吗?attr_encrypted
decrypt
iv
解决方案
推荐阅读
- r - match.arg(p.adjust.method) 中的错误:“arg”必须为 NULL 或字符向量
- wpf - 在 Powershell 中,在文本框中显示服务器重启检查脚本,冻结 WPF GUI
- wget - 使用 Wget -i 重命名下载的文件
- intellij-idea - IntelliJ:无法解析“org.apache.commons.lang3.tuple.ImmutablePair”中的 smybol
- hyperledger-fabric - configtx.yaml 中的 Hyperledger Fabric ACL
- java - Spring 的 @Autowire 注释在 JpaRepository 上返回 null
- c# - 什么是 CLR 循环优化行为?
- matlab - 从结构的多个字段中提取行
- java-8 - Java8 中引入了哪些新的 JVM 参数?
- batch-file - 批处理:将多个子文件夹(同名)中的所有文件移动到父文件夹中