【发布时间】:2015-08-21 02:22:14
【问题描述】:
我正在使用设计进行身份验证。 我想在将用户输入的所有数据发送到数据库之前对其进行加密。
这可能吗?
我找到了这个gem,但我不确定如何解决这个问题。
基本上没有人可以访问数据库应该能够读取数据,只有用户密码。
为了更清楚:
用户在注册时创建了一个密码,我不知道该密码,因为它是加密的,用户有一些数据也是加密的,没有人可以访问或读取数据。
我是不是太有野心了?
【问题讨论】:
-
Tekina 在这点上是对的。出于多种原因,您不应该让您的用户访问数据库,其中一些原因在该答案中提到。你应该这样做。获取他们的用户名和密码并与盐结合。以纯文本形式存储 salt,他们的私人数据由 your 密钥加密,他们的登录凭据经过哈希处理。这样一来,在服务器受损的情况下,没有人可以识别用户或密码。您永远不会比较他们的纯文本凭据。将哈希与哈希进行比较。然后,如果他们的哈希匹配,您将成为看门人并提供他们的私人信息。