0001
0002 #include <openssl/evp.h>
0003 #include <openssl/sha.h>
0004 #include <openssl/md5.h>
0005
0006 int main(void)
0007 {
0008 EVP_MD_CTX *mdctx;
0009 unsigned char md[MD5_DIGEST_LENGTH + SHA_DIGEST_LENGTH];
0010 unsigned char dat[] = "12345";
0011 unsigned int digest_len;
0012
0013 mdctx = EVP_MD_CTX_new();
0014 if (!mdctx)
0015 return 0;
0016
0017 EVP_DigestInit_ex(mdctx, EVP_md5(), NULL);
0018 EVP_DigestUpdate(mdctx, &dat[0], sizeof(dat));
0019 EVP_DigestFinal_ex(mdctx, &md[0], &digest_len);
0020 EVP_MD_CTX_free(mdctx);
0021
0022 SHA1(&dat[0], sizeof(dat), &md[0]);
0023
0024 return 0;
0025 }