diff options
-rw-r--r-- | src/crypt_sha256.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/crypt_sha256.c b/src/crypt_sha256.c index 5bbed5e..6484ea4 100644 --- a/src/crypt_sha256.c +++ b/src/crypt_sha256.c @@ -29,10 +29,10 @@ char* get_crypt_sha256(const char *p) int rand_fd; ssize_t size; size_t len = strlen(p); - char rand_str[LEN_RAND_STR]; - char passwd_buff[LEN_BUFFER]; - char sha_pwd[SHA256_DIGEST_LENGTH]; - char enc64_pwd[LEN_ENC64]; + unsigned char rand_str[LEN_RAND_STR]; + unsigned char passwd_buff[LEN_BUFFER]; + unsigned char sha_pwd[SHA256_DIGEST_LENGTH]; + unsigned char enc64_pwd[LEN_ENC64]; char *final_pwd; rand_fd = open(RAND_FILE, O_RDONLY); @@ -52,12 +52,11 @@ char* get_crypt_sha256(const char *p) memcpy(passwd_buff + SHA256_DIGEST_LENGTH + len, rand_str, LEN_RAND_STR); - SHA256((unsigned char*) passwd_buff + SHA256_DIGEST_LENGTH, - len + LEN_RAND_STR, (unsigned char*) sha_pwd); + SHA256(passwd_buff + SHA256_DIGEST_LENGTH, len + LEN_RAND_STR, sha_pwd); memcpy(passwd_buff, sha_pwd, SHA256_DIGEST_LENGTH); - EVP_EncodeBlock((unsigned char*) enc64_pwd, (unsigned char*) sha_pwd, + EVP_EncodeBlock(enc64_pwd, sha_pwd, SHA256_DIGEST_LENGTH + len + LEN_RAND_STR); |