zh-Hans v
en zh tw

scrypt 派生与验证

明确设置 N、r、p 参数派生 scrypt 密钥,导出完整 JSON 参数记录并在本地验证。

保存密钥时同时保存参数

scrypt 的输入包括密码、盐值、N、r、p 和输出长度。本工具返回 algorithm=scrypt、version=1、上述参数及小写十六进制 salt/hash 字段。JSON 包装是本工具的交换格式,不冒充通用 scrypt 密码字符串标准。

验证需要完整记录及候选密码,先检查资源成本,再计算并比较字节。记录中的参数可用于 Node crypto.scrypt 或 Python hashlib.scrypt 复现。密码采用 UTF-8,不做规范化。

内存与浏览器限制

默认为 N=131072、r=8、p=1、32 字节密钥及随机 16 字节盐。N 必须为 2–262144 范围内的 2 的幂;r 为 1–32,p 为 1–8,输出为 1–128 字节。为复现公开向量,自定义十六进制盐可为空;短盐会显示诊断。

估算工作区 128×r×(N+p)+256×r 不超过 256 MiB,N×r×p 不超过 16777216。Worker 可取消,30 秒后超时。参数可运行不等于适合生产安全策略。

参考

常见问题

为什么不直接输出一个通用 scrypt 字符串?

不同应用使用不同包装格式。JSON 记录明确每个参数和字节编码,接入其他应用时需按其格式转换。

p 会创建浏览器线程吗?

不会。p 是 scrypt 算法参数;固定版本 WASM 实现在一个浏览器 Worker 内执行。

输入会上传吗?

不会。处理在浏览器中执行,引擎从本站加载;工具不将输入发送至处理 API,也不保存输入。清除可移除可见输入与结果。

其他语言