我需要在openssl库中使用C API来从给定的字符串中派生Key.我在哪里可以获得此示例源代码?
执行此操作的标准算法是PBKDF2(基于密码的密钥派生函数版本2的首字母缩写).在OpenSSL中有一个PBKDF2的实现,声明在openssl/evp.h:
int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen,
unsigned char *salt, int saltlen, int iter,
int keylen, unsigned char *out);
Run Code Online (Sandbox Code Playgroud)
当您生成新密钥时,您应该使用RAND_bytes()from openssl/rand.h来创建salt. iter是迭代计数,应该与您的预期应用程序可以容忍的一样大 - 至少是20,000.