15 #include "password_hash.h"
22 #include "openssl/evp.h"
23 #include "memoryHook.h"
59 password_hash(
const string &password,
const string &salt,
60 int iters,
int keylen) {
61 nassertr(iters > 0 && keylen > 0,
string());
62 unsigned char *dk = (
unsigned char *)PANDA_MALLOC_ARRAY(keylen);
64 PKCS5_PBKDF2_HMAC_SHA1((
const char *)password.data(), password.length(),
65 (
unsigned char *)salt.data(), salt.length(),
67 nassertr(result > 0,
string());
69 string hash((
char *)dk, keylen);
76 #endif // HAVE_OPENSSL