On Thu, Mar 14, 2013 at 01:05:25PM +0800, cellecial wrote:

> but I tried  md = EVP_get_digestbynid(NID_md5), still NULL

PBKAC?

        $ cat md.c
        #include <openssl/ssl.h>
        #include <openssl/evp.h>
        #include <stdio.h>

        int main()
        {
            int nids[] = { NID_md5, NID_sha1, NID_sha256, NID_sha512 };
            int i;

            SSL_library_init();

            for (i = 0; i < sizeof(nids)/sizeof(int); ++i) {
                const EVP_MD *md = EVP_get_digestbynid(nids[i]);
                if (md) {
                    int n = EVP_MD_type(md);
                    printf("%d: %s: nid=%d size=%d\n", nids[i],
                           OBJ_nid2sn(n), n, EVP_MD_size(md));
                }
            }
        }

        $ cc -o md md.c -lssl -lcrypto

        $ ./md
        4: MD5: nid=4 size=16
        64: SHA1: nid=64 size=20
        672: SHA256: nid=672 size=32
        674: SHA512: nid=674 size=64

-- 
        Viktor.
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to