哪些默认参数使用OpenSSL -pbkdf2?

时间:2019-11-12 17:30:56

标签: c openssl aes pbkdf2 cbc-mode

我使用以下命令加密了文件:

openssl enc -aes-192-cbc -e -pbkdf2 -in <infile> -out <outfile> -pass pass: <password>

现在我正在尝试在c中解密它并利用pbkdf2的优势,我正在使用以下功能:

int PKCS5_PBKDF2_HMAC (const char * pass, int passlen,
                        const unsigned char * salt, int saltlen, int iter,
                        const EVP_MD * digest,
                        int keylen, unsigned char * out);

但是问题是:我知道参数pass,passlen,keyless和* out ...

我怎么知道与上述命令相对应的盐,迭代和摘要的参数是什么?

1 个答案:

答案 0 :(得分:2)

ERR_CERT_AUTHORITY_INVALID命令不是对输入文件的直接加密。它与盐一起在正面添加了“魔术”值。魔术值是字符串“ Salted __”(注意双下划线),后跟8个字节,这是一个随机生成的盐。或者,您可以在命令行上使用“ -S”选项(以十六进制指定)指定自己的盐。您可以使用“ -md”参数指定摘要。默认值为sha256。您可以使用“ -iter”参数指定迭代次数。默认值为1000。

相关问题