首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >敏感数据加密- DataMapper + Sinatra

敏感数据加密- DataMapper + Sinatra
EN

Stack Overflow用户
提问于 2013-03-10 18:32:08
回答 1查看 575关注 0票数 2

我一直读到web服务通过加密所有内容来保护用户数据。在数据库被盗的情况下,一切都是安全的(假设我们假设所有常见的密码学东西)。

我正在玩一个小的Sinatra应用程序(并不是真的打算推出它,它更多的是出于教育目的),它使用的是Sqlite上的DataMapper对象模型。我实现了基本的用户身份验证(简而言之,就是散列和salting...all之类的东西),我对此很满意。

事实上,应用程序的核心需要用户的个人信息:体重和其他身体尺寸(毫无疑问,这些信息可以被认为是个人和敏感数据,人们可能不想公开)。所以我想知道,怎样才能安全地存储这些数据?在这个应用程序中,所有的东西都只能由合适的用户访问(尽管我在这方面是个初学者,而且几乎所有的东西都是手工编写的,但我很确定有很多安全bugs..but,因为我说过我并不打算用它做任何事情)。

我考虑过使用用户密码对其进行加密,并在身份验证成功后对其进行解密,但如果忘记了密码怎么办?如果密码更改了怎么办?我读到(在这里),由于这些原因,最好不要这样做。但是,怎样才能做到呢?

EN

回答 1

Stack Overflow用户

发布于 2015-03-21 15:28:29

您可以先执行gem install attr_secure,然后对拼音对象执行以下操作:

设置你的环境的ATTR_SECURE_SECRET,所以在应用程序中执行ENV"ATTR_SECURE_SECRET“是有效的。另外,为加密值设置/更改任何表列,以便它们可以保存长的加密值。

现在您可以这样做了( attr_secure自述文件中的示例):

代码语言:javascript
复制
class Report < ActiveRecord::Base
  attr_secure :secret_value
end

r = Report.new
r.secret_value = "ThisIsATest"
r.save
=> #<Report id: 116, secret_value: "EKq88AMFeRLqEx5knUcoJ4LOnrv52d7hfAFgEKMoDKzqNei4m7k...">

r = Report.find(116)
r.secret_value
=> "ThisIsATest"

有关更多信息,请访问:https://github.com/neilmiddleton/attr_secure

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15321266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档