在命令行上计算 KDF(就像哈希摘要一样),例如 PBKDF2?使用 openssl 还是其他方式

在命令行上计算 KDF(就像哈希摘要一样),例如 PBKDF2?使用 openssl 还是其他方式

OpenSSL 可用于计算文件或来自 shell 的给定输入的哈希值,如下所示:

echo -n "abc" | openssl dgst -sha256
或者
openssl dgst -sha256 myfile.txt

我也可以以类似的方式计算 KDF 值,例如 PBKDF2 或 bcrypt 或 scrypt 或 Argon2 吗?

因此给定一个输入(纯文本或文件名)加上适当的参数(如迭代次数),我能得到相应的 KDF 结果吗?

理想情况下我会使用openssl它(因为它在所有平台上都可用)但如果有另一种标准化工具或方法,那也可以。

答案1

经过一些实验,我发现nettle-pbkdf2它在 macOS(通过 Homebrew)和 Linux(通过apt get)上都很常见。

echo -n 'MyPaSsWoRd' | nettle-pbkdf2 --iterations 500000 --length 64 --hex-salt 436d07d286c730ad

给出 64 字节(512 位)的 PBKDF2 结果,使用 HMAC-SHA256 作为底层散列函数。

相关内容