cdef extern from "openssl/evp.h": ctypedef struct EVP_MD_CTX: pass ctypedef struct EVP_MD: pass EVP_MD_CTX *EVP_MD_CTX_new() void EVP_MD_CTX_free(EVP_MD_CTX *) const EVP_MD *EVP_sha256() int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, void *impl) int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt) int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s) int EVP_MD_size(const EVP_MD *md) int EVP_MD_CTX_reset(EVP_MD_CTX *ctx)