|
|
1
10
SHA1是一个单向函数,你不能反转它。 这可能对重新设置密码有意义: http://www.binarylogic.com/2008/11/16/tutorial-reset-passwords-with-authlogic/ 如果您想进行加密/解密,那么应该使用 AES . 但是,一旦开始使用加密/解密,您还必须开始担心密钥管理。
|
|
|
2
6
加密密码。相反,存储密码的散列(最好用salt)。 忘记 http://railscasts.com/episodes/209-introducing-devise 如果你需要一些已经准备好的东西。 编辑: 如果你真的需要加密,谷歌“openssl ruby” 安全工作从来没有一个简单的解决方案。实现的好坏取决于 弱点 链接。 所以,我的建议是,不要指望一个简短的答案 |
|
|
3
2
正如Horace Ho所解释的,您永远不应该加密密码,而应该始终存储加密的salt。 但是,对其他类型的数据(如机密信息)进行加密是完全可以的。 Encryptor 它是一个简单但功能强大的OpenSSL包装器。它提供了对任何类中的属性进行加密/解密的能力。 |
|
|
4
1
看看ezcrypto宝石: http://ezcrypto.rubyforge.org/ 还有地穴宝石,看看河豚: http://crypt.rubyforge.org |
|
|
5
1
要对其他数据库字段执行双向加密,请签出
https://github.com/shuber/attr_encrypted 但正如其他人提到的,你不想用密码来做这件事。密码应该以一种方式存储。对于忘记密码的功能,你通常给他们发电子邮件一个不可能猜到的网址,让他们选择一个新的密码。 这里有一个例子: http://railscasts.com/episodes/274-remember-me-reset-password?view=asciicast |