【问题标题】:What algorithm does the Devise gem use to generate the authentication token?Devise gem 使用什么算法来生成身份验证令牌?
【发布时间】:2013-01-23 20:31:11
【问题描述】:

我有一个使用 Devise 身份验证令牌机制进行客户端令牌身份验证的应用程序。我想知道 gem 使用什么算法来生成令牌本身?是 BCrypt 吗? MD5等...

【问题讨论】:

    标签: ruby-on-rails authentication encryption devise


    【解决方案1】:

    代码在devise.rb:

    # Generate a friendly string randomically to be used as token.
    def self.friendly_token
      SecureRandom.base64(15).tr('+/=lIO0', 'pqrsxyz')
    end
    

    http://rdoc.info/github/plataformatec/devise/Devise.friendly_token

    【讨论】:

    • 为什么用.tr('+/=lIO0', 'pqrsxyz')替换字符串?
    • 只是一个猜测,但替换 +/= 可能是为了避免 URL 中标记的潜在问题,lIO0 可能是为了更容易被人类阅读。
    • Devise 上的最新版本不再替换 +/=。
    • 基于此更改github.com/heartcombo/devise/pull/2549/files,它看起来仍在使用urlsafe_base64 方法替换+/=
    猜你喜欢
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2015-03-01
    • 2012-11-04
    相关资源
    最近更新 更多