什么是 scrypt?
scrypt 是一种需要大量内存的密码密钥派生函数(KDF)。它根据密码和盐生成确定的密钥,并刻意增加 CPU 和内存开销,提高大规模密码猜测的成本
要点:
- 使用 N(成本因子)、r(块大小)和 p(并行度)
- 更高的 N 和 r 设置会增加内存和计算成本
- 只有在密码、盐、参数和输出长度都匹配时,才会生成相同的派生密钥
最佳实践:
- 为每个密码或秘密值使用不同的随机盐
- 将 N、r、p、盐格式和输出长度与派生密钥一起存储
- 用于生产环境前,先在需要支持的最慢设备上调整并验证参数
使用 scrypt 根据密码和盐派生密钥,可设置 N、r、p 和输出长度,并以十六进制或 Base64 输出
估算内存: 16 MiB
输入纯文本、生成随机盐或从文件导入
当前密码、盐和 scrypt 参数对应的派生密钥
scrypt 是一种需要大量内存的密码密钥派生函数(KDF)。它根据密码和盐生成确定的密钥,并刻意增加 CPU 和内存开销,提高大规模密码猜测的成本
要点:
最佳实践:
输入密码,选择文本或原始文件作为盐,配置参数后派生密钥