首頁 繪圖設計 工作閒聊 比賽活動 美術討論 標籤 圖片
md5.c openssl/md5.h @ gcc link by using -l ssl -l crypto
Type(Type) 2013/10/1 11:26

openssl/md5.h @ gcc, make using -l ssl -l crypto



代碼:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <openssl/md5.h>

char *str2md5(const char *str, int length)
{
    int n;
    MD5_CTX c;
    unsigned char digest[16];
    char *out = (char*)malloc(33);

    MD5_Init(&c);

    while (length > 0)
    {
        if (length > 512)
        {
            MD5_Update(&c, str, 512);
        } else
        {
            MD5_Update(&c, str, length);
        }
        length -= 512;
        str += 512;
    }

    MD5_Final(digest, &c);

    for (n = 0; n < 16; ++n) {
        snprintf(&(out[n*2]), 16*2, "%02x", (unsigned int)digest[n]);
    }

    return out;
}

int main(void)
{
    char *output = str2md5("vovo2000.com", strlen("vovo2000.com"));

    printf("%s\n", output);
    free(output);

    return 0;
}


How to
代碼:

$ gcc md5.c
md5.c:(.text+0x40): undefined reference to `MD5_Init'
md5.c:(.text+0x6c): undefined reference to `MD5_Update'
md5.c:(.text+0x90): undefined reference to `MD5_Update'
md5.c:(.text+0xc4): undefined reference to `MD5_Final'
collect2: ld returned 1 exit status

$ gcc md5.c -l ssl -l crypto
$ a.out

(2,767 views)
© Vovo2000.com Mobile Version 小哈手機版 2024