diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2020-03-01 22:27:56 +0100 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2020-03-01 23:14:55 +0100 |
commit | 3157d1f06e37906fd8821d2d869c40eac0d2b38c (patch) | |
tree | 5aeb6fab42c5f2cf8ed4c06c458c024315f2eb2a /src/core | |
parent | 9a6a27ef58982319549529d43906da60ce199aaf (diff) | |
download | weechat-3157d1f06e37906fd8821d2d869c40eac0d2b38c.zip |
api: add function crypto_hash_pbkdf2
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/wee-crypto.c | 14 | ||||
-rw-r--r-- | src/core/wee-crypto.h | 2 |
2 files changed, 10 insertions, 6 deletions
diff --git a/src/core/wee-crypto.c b/src/core/wee-crypto.c index 248f73c1d..ea19c04d3 100644 --- a/src/core/wee-crypto.c +++ b/src/core/wee-crypto.c @@ -97,7 +97,9 @@ weecrypto_get_hash_algo (const char *hash_algo) * If hash_size is not NULL, the length of hash is stored in *hash_size * (in bytes). * - * Returns 1 if OK, 0 if error. + * Returns: + * 1: OK + * 0: error */ int @@ -167,11 +169,13 @@ hash_end: * If hash_size is not NULL, the length of hash is stored in *hash_size * (in bytes). * - * Returns 1 if OK, 0 if error. + * Returns: + * 1: OK + * 0: error */ int -weecrypto_hash_pbkdf2 (const void *data, int data_size, int hash_subalgo, +weecrypto_hash_pbkdf2 (const void *data, int data_size, int hash_algo, const void *salt, int salt_size, int iterations, void *hash, int *hash_size) { @@ -191,8 +195,8 @@ weecrypto_hash_pbkdf2 (const void *data, int data_size, int hash_subalgo, goto hash_pbkdf2_end; } - algo_size = gcry_md_get_algo_dlen (hash_subalgo); - if (gcry_kdf_derive (data, data_size, GCRY_KDF_PBKDF2, hash_subalgo, + algo_size = gcry_md_get_algo_dlen (hash_algo); + if (gcry_kdf_derive (data, data_size, GCRY_KDF_PBKDF2, hash_algo, salt, salt_size, iterations, algo_size, hash) != 0) { diff --git a/src/core/wee-crypto.h b/src/core/wee-crypto.h index 9902042af..ccea36fb8 100644 --- a/src/core/wee-crypto.h +++ b/src/core/wee-crypto.h @@ -27,7 +27,7 @@ extern int weecrypto_get_hash_algo (const char *hash_algo); extern int weecrypto_hash (const void *data, int data_size, int hash_algo, void *hash, int *hash_size); extern int weecrypto_hash_pbkdf2 (const void *data, int data_size, - int hash_subalgo, + int hash_algo, const void *salt, int salt_size, int iterations, void *hash, int *hash_size); |