首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CouchDB中使用CouchRest & BCrypt存储密码?

如何在CouchDB中使用CouchRest & BCrypt存储密码?
EN

Stack Overflow用户
提问于 2013-11-23 16:09:44
回答 1查看 291关注 0票数 2

虽然,这不是CouchDB特定的,但我使用的库是。我在Ruby中使用模型来创建如下所示的User模型:

代码语言:javascript
复制
class User < CouchRest::Model::Base
  use_database 'sample'
  property :_id, String
  property :email, String
  # property :password
  timestamps!
end

我对这里的密码存储很困惑。我想使用BCrypt,但是当我这样做时:

代码语言:javascript
复制
class User < CouchRest::Model::Base
  include BCrypt

  use_database 'sample'
  property :_id, String
  property :email, String
  property :password, BCryptHash

  timestamps!
end

我被告知User::BCryptHash是一个未初始化的常数。当然,我事先需要bcrypt库。你能帮我解决这个BCrypt问题,或者建议一种在CouchDB中存储密码的不同方式吗?我看过散列密码,但是我不知道如何实现它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-24 09:57:04

代码语言:javascript
复制
require 'couchrest_model'

class User < CouchRest::Model::Base
  include ActiveModel::SecurePassword

  use_database 'sample'
  has_secure_password

  property :username, String
  property :email, String
  property :password_digest, String

  timestamps!

  design { view :by_email }
end

User.create(:username => 'rafalchmiel', :email => 'hi@rafalchmiel.com', :password => 'password', :password_confirmation => 'password')
User.create(:username => 'bar', :email => 'hi@bar.com', :password => 'password213', :password_confirmation => 'password213')
User.create(:username => 'foo', :email => 'hi@foo.com', :password => 'password12111', :password_confirmation => 'password12111')

更多关于为什么在这个GitHub问题中工作的信息。

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

https://stackoverflow.com/questions/20164585

复制
相关文章

相似问题

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