Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails attr_加密程序错误解密错误_Ruby On Rails_Attr Encrypted - Fatal编程技术网

Ruby on rails attr_加密程序错误解密错误

Ruby on rails attr_加密程序错误解密错误,ruby-on-rails,attr-encrypted,Ruby On Rails,Attr Encrypted,我使用danpal/attr_encryptor gem对ActiveRecord模型中的某些属性进行加密 attr_encrypted :number, :charset => 'UTF-8', :key => 'vasya pupkin' 并得到以下错误 OpenSSL::Cipher::CipherError: bad decrypt 然后,我尝试在rails控制台中使用encrypt_number,并在重新启动控制台时看到相同“number”字段值的不同值。为什么? ra

我使用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_iv和encrypted_number_salt列,并且gem是否自动为您填充这些列

对于encrypt_number,您需要每次传递相同的:iv和:salt选项,以便在输出端接收相同的密文