#include <openssl/md5.h> #include <string.h> #include <unistd.h> #include <stdio.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/types.h> int getmd5(char *filename, char *md5str);
int main(int argc, char **argv) { char md5str[128] = {0x00,}; getmd5(argv[1], md5str); printf("md5 : %s\n", md5str); return 1; }
#include <openssl/md5.h> #include <string.h> #include <unistd.h> #include <stdio.h> #include <sys/stat.h> #include <fcntl.h> #include <sys/types.h> int getmd5(char *filename, char *md5str) { MD5_CTX lctx; unsigned int i; int fd; struct stat status; char *data; unsigned char digest[16]; // 파일의 내용을 읽기 위해서 연다. fd = open(filename, O_RDONLY); if (fd < 0) { return fd; } // 파일의 크기를 얻어온 후 // 파일의 크기만큼 내용을 담을 공간을 확보한다. fstat(fd, &status); data = (char *)malloc(status.st_size); read(fd, data, status.st_size); MD5_Init(&lctx); MD5_Update(&lctx, data, status.st_size); MD5_Final(digest, &lctx); // md5 문자열을 복사한다. for (i = 0; i < sizeof(digest); ++i) { sprintf(md5str+(i*2), "%02x", digest[i]); } free(data); close(fd); return 1; }
# gcc -o getmd5 getmd5.c -I/usr/include/openssl -lssl -lcrypto
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
설명
사용방법
코드
변경사항
Recent Posts
Archive Posts
Tags