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

What default parameters uses OpenSSL -pbkdf2?

我用这个命令加密了一个文件:

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...

怎么知道上面写的命令对应的salt,iter,digest的参数是多少?

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