static const size_t salter_len = 64;
static const size_t saltval_len = 8;
- int i;
+ size_t i;
char salt[saltval_len];
- char sha[SHA_DIGEST_LENGTH];
+ uint8_t sha[SHA_DIGEST_LENGTH];
char buf[2*SHA_DIGEST_LENGTH + saltval_len + 2];
for( i=0; i<=saltval_len; ++i )
salt[i] = salter[ tr_cryptoRandInt( salter_len ) ];
tr_sha1( sha, plaintext, strlen( plaintext ), salt, saltval_len, NULL );
- tr_sha1_to_hex( &buf[1], &sha );
+ tr_sha1_to_hex( &buf[1], sha );
memcpy( &buf[1+2*SHA_DIGEST_LENGTH], &salt, saltval_len );
buf[1+2*SHA_DIGEST_LENGTH + saltval_len] = '\0';
buf[0] = '{'; /* signal that this is a hash. this makes saving/restoring
char * salt;
size_t saltlen;
char * hashed;
- char buf[SHA_DIGEST_LENGTH];
+ uint8_t buf[SHA_DIGEST_LENGTH];
tr_bool result;
/* extract the salt */
/* hash pass + salt */
hashed = tr_malloc( 2*SHA_DIGEST_LENGTH + saltlen + 2 );
- tr_sha1( &buf, pass, strlen( pass ), salt, saltlen, NULL );
- tr_sha1_to_hex( &hashed[1], &buf );
+ tr_sha1( buf, pass, strlen( pass ), salt, saltlen, NULL );
+ tr_sha1_to_hex( &hashed[1], buf );
memcpy( hashed + 1+2*SHA_DIGEST_LENGTH, salt, saltlen );
hashed[1+2*SHA_DIGEST_LENGTH + saltlen] = '\0';
hashed[0] = '{';