如何在Rails应用中重用Authlogic的密码加密功能?

| 在我的Rails应用程序中,我会定期要求用户在一定数量的不活动后重新输入密码(例如Linux上的sudo)。我的应用程序使用Authlogic进行身份验证并处理密码存储和加密。 我需要某种方法来加密用户输入的密码,该密码使用Authlogic在验证过程中验证密码时使用的完全相同的加密方案来加密密码。我需要1)对用户输入的密码进行加密,以及2)在此加密与用户存储在数据库中的加密密码之间进行字符串比较。 我应该在哪里放置执行加密的方法?这里有一些想法: 想法1(在新的自定义模块中)
module PasswordCryption
  include Authlogic::ActsAsAuthentic::Password

  encrypt_password(password)

  end
end
想法2(在用户模型中)
class User
  acts_as_authentic <---- makes Authlogic password encryption functionality available

  encrypt_password(password)

  end
end
    
已邀请:
        Authlogic默认使用SHA512加密。提示是authlogic重复了十六进制功能20次。这将解决您的问题:
digest = [raw_password, password_salt].join(\'\')
crypted_password = 20.times { digest = Digest::SHA512.hexdigest(digest) }
    

要回复问题请先登录注册