簡體   English   中英

Rails:設計gem密碼加密

[英]Rails: Devise gem password encryption

我正在開發一項功能,在該功能中,我必須手動更新數據庫中的所有帳戶詳細信息。 它工作正常,但唯一的問題是,由於我們還將devise gem用於登錄功能。 我必須存儲要手動更新的密碼的加密格式。 所以我只想知道devise gem如何加密密碼。

如果我的密碼是“密碼”。 我必須手動進行加密,並以與設計相同的方式將其存儲在數據庫中。

請盡快返回以獲取幫助。

我假設您有一個用戶名/密碼列表,您希望將這些用戶名/密碼批量分配到數據庫中,以便在通過Devise進行身份驗證的應用程序中使用。

默認情況下,Devise使用BCrypt,(有一個gem)

require 'bcrypt'

class User < ActiveRecord::Base
  # users.password_hash in the database is a :string
  include BCrypt

def password
  @password ||= Password.new(password_hash)
end

def password=(new_password)
  @password = Password.create(new_password)
  self.password_hash = @password
end

end

例如,您可以在列表中創建用戶實例,然后在Rake任務中將其保存到數據庫。

@user = User.new
@user.username = "foobar"
@user.password = "password"
@user.save

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM