![]() |
1
3
我不会存储任何依赖于用户记住他们的密码然后使用密码来解密数据的数据。当用户更改密码时,您要做什么?解密/加密所有内容?我对此表示怀疑。如果管理员重置密码怎么办?所有数据丢失?我再次怀疑。 请参阅有关存储机密的其他链接,但请不要将用户的任何值用作加密的一部分。 |
![]() |
2
2
所以你想在数据库中存储加密的数据?首先,我想请您考虑一下为什么需要这样做?您应该能够编写应用程序,以便只有经过身份验证的用户才能访问自己的数据。 如果您确实需要存储加密数据,也需要能够解密(而不是单向散列),那么ruby中有很多关于加密的内容: http://www.example-code.com/ruby/encryption.asp |
![]() |
3
1
你当然应该在用户端加密/解密数据,否则加密存储就没有意义了,因为私有数据的踪迹仍然存在于网络缓存、不同种类的交换文件中等等。此外,数据可以被中间人攻击嗅探。 所以您可能想要的是基于javascript的客户端加密。这个话题在 http://javascript.about.com/library/blencrypt.htm http://www.movable-type.co.uk/scripts/aes.html
您应该在提交表单之前加密数据(使用
缺点是您不能将任何Rails用于这种只包含数据的客户端javascript。 |
![]() |
4
1
为了加密敏感数据我不得不这么做。我包装了strongbox gem,它在github上: http://github.com/bitzesty/safe safe gem提供AR属性的公钥加密。 |
![]() |
5
0
使用单向哈希算法。散列密码并存储哈希。然后,每当用户输入密码时,都要对输入的密码进行哈希处理,并将其与存储的哈希密码进行比较。如果他们是一样的,你就让他们通过。如果没有,他们会被拒绝。 |
![]() |
6
0
一般来说,存储用户的密码并不是一个好主意,因为它可以被转换成明文。 通常它存储为MD5或SHA1的盐散列。 所以,你有一个随机的salt,将它存储在用户的表中,然后对他们的pass和salt进行哈希处理,如下所示:
我建议不要存储可以返回的传递,我建议您存储它的唯一方法是使用单向散列。 也就是说,有一些加密方案可以使用,比如RSA加密。这样,应用程序将使用您的公钥加密从最终用户收到的用户密码,当您需要解密时,请使用私钥进行解密。这种方式存储密钥的应用程序非常有限(例如自动提供登录到另一个站点的功能),而且通常是不受欢迎的。 |
![]() |
7
0
attr峈encrypted也可以是加密敏感数据的解决方案,可以与ruby类或ActiveRecord、DataMapper或Rails中的Sequel一起使用。 |
![]() |
zoid_ · 如何将列表中的一个项目更改为另一个列表中的另一个项目? 2 年前 |
![]() |
YungOne · 如何将RSA私钥转换为pem 2 年前 |
![]() |
Annie Nguyen · 使用函数对字符串进行加密/解密 2 年前 |
![]() |
Louis · 在Java中存储令牌/密码的最佳实践 2 年前 |
![]() |
beginner_geek07 · 为什么我的输出是“无”? 2 年前 |