attr_encryptor错误解密错误



我使用danpal/attr_encryptor-gem来加密ActiveRecord模型中的一些属性。

attr_encrypted :number, :charset => 'UTF-8', :key => 'vasya pupkin'

并得到以下错误

OpenSSL::Cipher::CipherError: bad decrypt

然后我尝试在rails控制台中使用encrypt_number,当我重新启动控制台时,看到"number"字段的相同值有不同的值。为什么?

rails c
CreditCard.encrypt_number('hello')
"tRO0BETHrh5J3gXv8WVntw==n"
quit
rails c
CreditCard.encrypt_number('hello')
"kJSbe30RQyR+gy3oDXv5ZA==n"

如果出现错误的解密错误,您是否在数据库中创建了encrypted_number_ivencrypted_number_salt列,gem是否会自动为您填充它们?

encrypt_number的情况下,您需要传递:iv:salt选项(每次都相同),以便在输出时接收相同的密文。

相关内容

  • 没有找到相关文章

最新更新