Redmineにおけるユーザパスワードの暗号化アルゴリズム(コード付)
1910 ワード
Redmineでユーザーパスワードが失われた場合、以下のように初期化できます.
以上のコードを実行して出力した結果は、redmineデータベースのuserテーブルのpasswordアイテムを直接更新するために使用されます.
そして、フロントページに明文のパスワードを入力すると正常にログインできます.
require "digest/sha1"
class User @@salt = 0 @@hashed_password = 0 # Return password digest def self.hash_password(clear_password) Digest::SHA1.hexdigest(clear_password || "")
end
def self.salt_password(clear_password) # salt redmine user salt , salt = "c917b9a125225ee8a9dd64b7170a1cf0" hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}") puts hashed_password end end User.salt_password "hello"
以上のコードを実行して出力した結果は、redmineデータベースのuserテーブルのpasswordアイテムを直接更新するために使用されます.
そして、フロントページに明文のパスワードを入力すると正常にログインできます.