Redmineにおけるユーザパスワードの暗号化アルゴリズム(コード付)


Redmineでユーザーパスワードが失われた場合、以下のように初期化できます.
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   saltsalt = "c917b9a125225ee8a9dd64b7170a1cf0" hashed_password = User.hash_password("#{salt}#{User.hash_password clear_password}") puts hashed_password end end User.salt_password "hello"

以上のコードを実行して出力した結果は、redmineデータベースのuserテーブルのpasswordアイテムを直接更新するために使用されます.
そして、フロントページに明文のパスワードを入力すると正常にログインできます.