CRYPTO DESK / LIVEPBKDF2 / EvpKDF加载中
PBKDF2 / EvpKDF - 加密工具 · 萤炬工具箱 · 工具说明与使用指南

PBKDF2 / EvpKDF - 加密工具 · 萤炬工具箱

密钥派生把一个人能记住的口令配合盐值反复迭代,拉伸成固定长度的十六进制密钥。提供 PBKDF2(可选 SHA1 / SHA256 / SHA512,迭代次数与输出位数可调)与 EvpKDF(对齐 OpenSSL 的 EVP_BytesToKey,用于解开老命令行加密的数据)。运算在浏览器本地完成。PBKDF2 支持 …

密钥派生把一个人能记住的口令配合盐值反复迭代,拉伸成固定长度的十六进制密钥。提供 PBKDF2(可选 SHA1 / SHA256 / SHA512,迭代次数与输出位数可调)与 EvpKDF(对齐 OpenSSL 的 EVP_BytesToKey,用于解开老命令行加密的数据)。运算在浏览器本地完成。

使用步骤

  1. 选择算法:新场景用 PBKDF2;只有要还原 OpenSSL 老数据时才选 EvpKDF。
  2. 填入口令与盐值,并指明盐是按 UTF-8 文本还是十六进制字节解释。
  3. 设置迭代次数、输出位数与哈希函数。
  4. 复制派生出的十六进制密钥,拿去喂给分组密码或流密码工具。

功能与限制

  • PBKDF2 支持 SHA1 / SHA256 / SHA512,迭代次数与输出位数可调;盐值支持 UTF-8 或十六进制输入。
  • EvpKDF 对齐 OpenSSL EVP_BytesToKey,仅用于兼容旧数据,强度偏弱。
  • 单向派生,无法反推口令;参数须完整留档才能重现同一密钥。
  • 在浏览器本地运算,口令与盐不上传。

常见问题

派生出的密钥能还原成原口令吗?
不能。密钥派生是单向的,故意设计成必须逐个猜口令重算才能验证。这正是它保护口令的方式。
为什么必须加盐?
相同口令不加盐会派生出相同密钥,攻击者可以拿预先算好的彩虹表批量命中。每条数据配一个随机盐,攻击者就得为每条单独暴破。盐不需要保密,但要和密文一起存下来。
迭代次数设多少合适?
原则是「你能接受的最慢速度」。次数越高攻击者的猜解成本越高,同时你自己派生也越慢。默认值面向常见浏览器性能,改动后必须记录下来,还原时要用同一个值。
EvpKDF 为什么标记为弱?
它是 OpenSSL 早年的派生方式,默认只做一轮 MD5 类摘要,抗暴破能力远低于高迭代 PBKDF2。它只有一个用途:解开当年用 openssl enc 命令加密的老数据。
派生参数记不全会怎样?
算法、盐、迭代次数、输出位数、哈希函数任何一项不同,派生结果就完全不同,等于密钥丢失。这些参数要和密文一并留档。