38
我前一段时间看到了在不包含任何库的情况下对rails中的字符串进行解密和加密的可能性,但是我找不到任何博客文章。加密,使用Rails解密
我希望能够加密和解密字符串,而不包括任何东西。 使用相同的密钥可用于导轨中的其他所有内容,例如签名的Cookie。
任何想法?
我前一段时间看到了在不包含任何库的情况下对rails中的字符串进行解密和加密的可能性,但是我找不到任何博客文章。加密,使用Rails解密
我希望能够加密和解密字符串,而不包括任何东西。 使用相同的密钥可用于导轨中的其他所有内容,例如签名的Cookie。
任何想法?
您的意思是这个吗?:ActiveSupport::MessageEncryptor。这里是重复使用Rails的方式应用4的秘密:
crypt = ActiveSupport::MessageEncryptor.new(Rails.application.secrets.secret_key_base)
encrypted_data = crypt.encrypt_and_sign('my confidental data')
和加密的数据可以被解密:
decrypted_back = crypt.decrypt_and_verify(encrypted_data)
此前Rails 3中使用secret_token
配置选项和加密方法是encrypt
decrypt
。
这是漂亮的皮条客。 – Kristian 2013-05-03 22:44:44
一个伟大的解决方案,我在找什么,谢谢!刚刚起来,ActiveSupport :: MessageEncryptor接口已经改变,因为Rails 4.0和这个例子已经过时了。您应该调用encrypt_and_sign而不是加密和decrypt_and_verify,而不是解密。 – 2014-03-20 08:27:47
谢谢乔治,我更新了答案并做出了新的例子。 – gertas 2014-03-20 12:06:32