int tc_sha1_digest_one(unsigned char *dest, unsigned int dest_len, const unsigned char *seed, unsigned int seed_len) { unsigned int sha1_value_len; unsigned char sha1_value[EVP_MAX_MD_SIZE]; if (!sha1_init) { return 0; } EVP_DigestInit_ex(&sha1_ctx, md, NULL); EVP_DigestUpdate(&sha1_ctx, seed, seed_len); EVP_DigestFinal_ex(&sha1_ctx, sha1_value, &sha1_value_len); tc_tailor(dest, dest_len, sha1_value, sha1_value_len); return 1; }
int tc_sha1_digest_two(unsigned char *dest, unsigned int dest_len, const unsigned char *seed1, unsigned int seed1_len, const unsigned char *seed2, unsigned int seed2_len) { unsigned int sha1_value_len; unsigned char sha1_value[EVP_MAX_MD_SIZE]; if (!sha1_init) { tc_log_info(LOG_ERR, 0, "%s not init", ALGO_SHA1); return 0; } EVP_DigestInit_ex(&sha1_ctx, md, NULL); EVP_DigestUpdate(&sha1_ctx, seed1, seed1_len); EVP_DigestUpdate(&sha1_ctx, seed2, seed2_len); EVP_DigestFinal_ex(&sha1_ctx, sha1_value, &sha1_value_len); tc_tailor(dest, dest_len, sha1_value, sha1_value_len); return 1; }