特别是this。我知道大多数bcrypt实现大约有50个字符,但我很确定scrypt的情况并非如此。
答案 0 :(得分:1)
来自scrypt继任者的开发者:
...与scrypt和yescrypt相关的问题。有最大值吗? 密码的输入长度?
对于你问题的可能目的,不,没有这样的长度 限制。 (当然,在实践中,计算机的内存和整数有限 C中的变量具有有限的范围,因此存在某种大的限制。)
我建议你对用户名的长度有一些合理的限制 无论如何,在您的网络应用程序输入密码。永远不会有的东西 妨碍合理使用,但会明显阻止 进入更深层次的错误(可能是恶意的)输入。
我知道bcrypt的限制为71个字符。
bcrypt是72。
亚历山大
答案 1 :(得分:0)
应该注意的是,scrypt基本上 PBKDF2
用于其大部分工作。
PBKDF2的基本用途是:
bytes = PBKDF2(
password,
salt,
numberOfBytes);
Scrypt是产生供给PBKDF2的盐的美化方式:
bytes = PBKDF2(
password,
ScryptMixingStuff(password, originalSalt, N, r, p),
numberOfBytes);
所以问题就变成了:PBKDF2中的密码长度限制是什么。
There is no practical password length limitation of PBKDF2。所以scrypt没有实用的密码长度限制。