26d25 < #include 28,50d26 < static void < digest_init(EVP_MD_CTX **ctx, const EVP_MD* type) < { < *ctx = EVP_MD_CTX_create(); < assert(*ctx != 0); < int rc = EVP_DigestInit_ex(*ctx, type, NULL); < assert(rc == 1); < } < < static void < digest_update(EVP_MD_CTX **ctx, const uint8 *data, size_t len) < { < int rc = EVP_DigestUpdate(*ctx, data, len); < assert(rc == 1); < } < < static void < digest_final(EVP_MD_CTX **ctx, uint8 *dest) < { < int rc = EVP_DigestFinal_ex(*ctx, dest, 0); < assert(rc == 1); < EVP_MD_CTX_destroy(*ctx); < } 56c32 < digest_init(ctx, EVP_sha256()); --- > SHA256_Init((SHA256_CTX *) ctx); 62c38 < digest_update(ctx, data, len); --- > SHA256_Update((SHA256_CTX *) ctx, data, len); 68c44 < digest_final(ctx, dest); --- > SHA256_Final(dest, (SHA256_CTX *) ctx); 75c51 < digest_init(ctx, EVP_sha512()); --- > SHA512_Init((SHA512_CTX *) ctx); 81c57 < digest_update(ctx, data, len); --- > SHA512_Update((SHA512_CTX *) ctx, data, len); 87c63 < digest_final(ctx, dest); --- > SHA512_Final(dest, (SHA512_CTX *) ctx); 94c70 < digest_init(ctx, EVP_sha384()); --- > SHA384_Init((SHA512_CTX *) ctx); 100c76 < digest_update(ctx, data, len); --- > SHA384_Update((SHA512_CTX *) ctx, data, len); 106c82 < digest_final(ctx, dest); --- > SHA384_Final(dest, (SHA512_CTX *) ctx); 113c89 < digest_init(ctx, EVP_sha224()); --- > SHA224_Init((SHA256_CTX *) ctx); 119c95 < digest_update(ctx, data, len); --- > SHA224_Update((SHA256_CTX *) ctx, data, len); 125c101 < digest_final(ctx, dest); --- > SHA224_Final(dest, (SHA256_CTX *) ctx);