在线scrypt密码哈希生成 - 支持自定义参数,Web Crypto API纯前端本地计算
scrypt是内存硬哈希函数,设计目的就是增加ASIC/GPU攻击的成本。bcrypt虽然也安全,但内存需求较低,更容易被专用硬件加速。scrypt通过高内存需求(N参数控制)使大规模并行攻击变得不经济。
N(CPU/内存代价)是最重要的参数,必须是2的幂。N越大越安全但越慢。r(块大小)影响每次迭代内存量。p(并行度)控制并行线程数。推荐:一般应用N=16384或32768,高安全场景N=65536或更高。r=8, p=1是常见默认值。
这正是scrypt的设计目的——慢就是安全。通过增加计算时间和内存消耗,使暴力破解变得不经济。如果你需要更快的哈希,可以考虑降低N参数,但会降低安全性。
盐值是随机数据,确保相同密码每次生成不同的哈希值。这防止了彩虹表攻击和相同密码的识别。建议每次哈希都使用唯一的随机盐值(至少16字节)。
scrypt是内存硬哈希函数,设计目的是增加ASIC/GPU攻击成本。bcrypt内存需求较低,更容易被专用硬件加速。scrypt通过高内存需求使大规模并行攻击不经济。
N是CPU/内存代价参数,必须是2的幂。推荐一般应用N=16384或32768,高安全场景N=65536或更高。r=8, p=1是常见默认值。
慢就是安全。通过增加计算时间和内存消耗使暴力破解不经济。需要更快的哈希可以降低N参数,但会降低安全性。
盐值确保相同密码每次生成不同哈希值,防止彩虹表攻击和相同密码识别。建议每次使用唯一的随机盐值(至少16字节)。