【问题标题】:How much bit encryption devise gem using for password?多少位加密设计gem用于密码?
【发布时间】:2016-06-24 06:13:26
【问题描述】:

我正在使用 devise gem 进行身份验证,我知道它使用 bcrypt。我想问一下它使用多少位加密来加密密码。正如 bcrypt 文档告诉它由

$version$iteraion$salt(128 bit encrypted)+hash

。我想问一下我们是否可以考虑为 256 位加密设计替代方案。

【问题讨论】:

    标签: ruby-on-rails ruby encryption devise rubygems


    【解决方案1】:

    Devise 正在使用bcrypt(根据default)。 bcrypt 是散列函数而不是加密算法,因此术语 bit 不适合 bcrypt 的上下文。

    值得注意的是,bcrypt 仅支持最多 56 字节的密码。

    【讨论】:

    • Bcrypt 有点难以为块大小分配位值,因为它在内部使用不同大小的结构。调用 SHA1 160 位或 SHA512 512 位我不会有问题。但是,OP 显然很困惑,并且在不了解 bcrypt 背后的设计的情况下可能会做出非常错误的决定。我会提到工作因素,以及为什么计数位缺少解决影子密码问题的重要考虑因素,即使它是可能的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多