From d45a9d3d0e39b929c48153141377a8cc03ebabac Mon Sep 17 00:00:00 2001 From: Andi Shyti Date: Mon, 3 Sep 2012 23:13:36 +0200 Subject: crypt_sha256: strings should be treated as unsigned char Signed-off-by: Andi Shyti --- src/crypt_sha256.c | 13 ++++++------- 1 file 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); -- cgit v1.2.3