openssl初步使用

centos平台


md5.c

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

//#include "../e_os.h"
#include <openssl/evp.h>
#include <openssl/md5.h>

static char *hex2str(unsigned char *md)
{
    int i;
    static char buf[80];

    for (i = 0; i < MD5_DIGEST_LENGTH; i++)
        sprintf(&(buf[i * 2]), "%02x", md[i]);
    return (buf);
}

int main()
{
	unsigned char md5Result[MD5_DIGEST_LENGTH];
	
	char *source = "000000";
	
	char *p;
	
	if (!EVP_Digest(source, strlen(source), md5Result, NULL, EVP_md5(),NULL)){
		fprintf(stderr,"err");
		return -1;
	}
	p = hex2str(md5Result);
	
	printf("md5(%s)=%s\n",source,p);
	return 0;	
}


makefile


CC=gcc
CFLAGS=-Wall -g 
CINC=-I. -I/home/liuyi/openssl/include 
LIBS=-L/home/liuyi/openssl/lib 
LDFLAGS=-lcrypto -lssl

TARGET=md5
OBJ=md5.o

all:$(TARGET)

$(TARGET):      $(OBJ) 
	$(CC) $(CFLAGS) -o $@ $(OBJ) $(LIBS)  $(LDFLAGS)

.c.o:
	$(CC) -c  $(CFLAGS) $(CINC) $<

clean:
	rm -f $(TARGET) *.o


LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/liuyi/openssl/lib
export LD_LIBRARY_PATH
./md5



posted on 2016-10-09 18:02  阮減显  阅读(170)  评论(0编辑  收藏  举报

导航