一个Ruby新手在这里的一点 - 应该是一个简单的问题: 我想用encrypted_strings宝石创建一个密码加密的字符串: (从http://rdoc.info/projects/pluginaweek/encrypted_strings)红宝石 - encrypted_strings
的问题是:一切正常,但是我怎么不需要密码来解密字符串呢?假设我想将字符串存储在某个地方一段时间,例如会话。密码是否也与它一起存储? (这看起来很奇怪?)。不,我不打算使用'秘钥'或任何类似的黑客作为密码。
我打算使用uuid动态生成一个类变量@@密码,我不会在内存中存储它,并且可以从程序的一次运行切换到下一次。
对称:
>> password = 'shhhh'
=> "shhhh"
>> crypted_password = password.encrypt(:symmetric, :password => 'secret_key')
=> "qSg8vOo6QfU=\n"
>> crypted_password.class
=> String
>> crypted_password == 'shhhh'
=> true
>> password = crypted_password.decrypt
=> "shhhh"
谢谢你。好。 但是 - 'crypted'是一个字符串,所以在它上调用to_s只会让你回到同一个对象。 所以 - 子问题 - 我将如何获得一个简单的字符串与加密相同的内容? – 2010-06-05 15:23:27
@Tom:在写之前我应该测试一下。我已经更新了答案。 – 2010-06-05 15:31:10