bcrypt 有长度限制吗?

问题描述 投票:0回答:1

我用的是铁锈。我需要弄清楚我应该对用户密码施加多长的限制。

我正在使用 bcrypt crate 来散列密码。

我读here那:

BCrypt 哈希密码和秘密有 72 个字符的限制。

然而,不知何故,rust

bcrypt
库甚至能够为更长的密码生成哈希值。例如,以下 105 个字符长的密码也会生成哈希值。

use bcrypt::{DEFAULT_COST, hash};
let hashed = hash("65%&88dd413adb5f4fb4de0ecc01f3a'4'5'65''/$%(908f0321ffdghjgdser4te5y4tregthygrffe4g56gfgdht435hg''32$'21s", DEFAULT_COST);
println!("Hashed: {:?}",hashed);

板条箱的文档没有指定任何限制。

我是不是误会了什么?

rust hash cryptography bcrypt
1个回答
0
投票

这里已经详细讨论了这个问题:

https://security.stackexchange.com/questions/39849/does-bcrypt-have-a-maximum-password-length

答案好像是50/55/56/72,看你问谁了。不过,有关详细信息,请阅读链接后面的答案。

TL;DR: 如果您想安全起见,请使用 50。但是,似乎最多 72 有效。然而,除此之外,图书馆绝对简单地忽略任何进一步的字符.

© www.soinside.com 2019 - 2024. All rights reserved.