5

具体这个。我知道大多数 bcrypt 实现大约有 50 个字符,但我很确定 scrypt 不是这种情况。

4

2 回答 2

2

来自 scrypt 继任者的开发者:

...与 scrypt 和 yescrypt 相关的问题。密码是否有最大输入长度?

出于您问题的可能目的,不,没有这样的长度限制。(当然,实际上计算机的内存有限,而 C 中的整数变量的范围有限,因此存在某种较大的限制。)

无论如何,我建议您对 Web 应用程序中的用户名和密码输入的长度有一些合理的限制。永远不会妨碍合理使用,但会阻止明显错误(可能是恶意)输入进入更深层的东西。

我知道 bcrypt 有 71 个字符的限制。

bcrypt 是 72。

亚历山大

于 2015-01-19T23:23:05.877 回答
0

应该注意的是,scrypt基本上 PBKDF2是它的大部分工作。

PBKDF2 的基本用途是:

bytes = PBKDF2(
      password, 
      salt, 
      numberOfBytes);

Scrypt 是一种生成馈入 PBKDF2 的盐的美化方式:

bytes = PBKDF2(
      password, 
      ScryptMixingStuff(password, originalSalt, N, r, p),
      numberOfBytes);

所以问题就变成了:PBKDF2 中的密码长度限制是多少。

PBKDF2 没有实际的密码长度限制。因此 scrypt 没有实际的密码长度限制。

于 2016-10-03T15:54:19.333 回答