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

openssl初步使用的更多相关文章

  1. [网络编程]VS2010+OpenSSL安装与初步了解

    OpenSSL简介 功能作用:SSL(Secure Socket Layer)是netscape公司提出的主要用于web的安全通信标准,分为2.0版和3.0版.TLS(Transport Layer  ...

  2. openSSL漏洞原理及安全加固

    2014年4月8日晚,互联网爆出了又一重量级安全漏洞,即CVE-2014-0160,通俗来讲就是OpenSSL出现了安全漏洞. 说 这个漏洞前,先介绍一下OpenSSL,OpenSSL是一个强大的安全 ...

  3. OpenSSL重大漏洞-Heartbleed之漏洞利用脚本POC讲解

    OpenSSL Security Advisory [07 Apr 2014] ======================================== TLS heartbeat read ...

  4. 使用 OpenSSL API 进行安全编程

    创建基本的安全连接和非安全连接 Kenneth Ballard ( kenneth.ballard@ptk.org), 自由程序员 Kenneth 是 Peru State College(位于 Pe ...

  5. 笔记整理——使用openssl编程

    error: openssl 的所有解决方案 (2013/6/22 17:39:00) error: openssl/crypto.h: No such file or directory 解决方案 ...

  6. 在libuv中使用openssl建立ssl连接

    在libuv中使用openssl建立ssl连接 @(blogs) 使用openssl进行加密通信时,通常是先建立socket连接,然后使用SSL_XXX系列函数在普通socket之上建立安全连接,然后 ...

  7. configure: error: Cannot find OpenSSL's libraries

    在Ubuntu 12.4.1 X64 位下编译安装PHP时提示 configure: error: Cannot find OpenSSL's libraries 确认已安装过 openssl.lib ...

  8. Nginx初步配置

    编辑 简介 Nginx ("engine x") 是一个轻量级,高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器.Nginx是由Igor Sysoev为 ...

  9. 移动端之Android开发的几种方式的初步体验

    目前越来越多的移动端混合开发方式,下面列举的大多数我都略微的尝试过,就初步的认识写个简单的心得: 开发方式 开发环境 是否需要AndroidSDK 支持跨平台 开发语言&技能 MUI Win+ ...

随机推荐

  1. Mybatis返回List<Map<K,V>>

    最终映射的字段名 会被作为 hashMap 的 key , <!-- TODO 测试返回 HashMap--> <resultMap id="testResultMap&q ...

  2. because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled

    spring security 配置问题,静态资源未被允许访问

  3. feign的hystrix不起作用.

    在springCloud中使用feign内嵌的断路器hystrix时.feign中的hystrix不起作用.这可能是由于springCloud的版本原因造成的.需要在application.prope ...

  4. matomo 开源网站分析平台

    1.安装PHP https://www.jianshu.com/p/8d54a401ec06 yum remove php* yum -y install epel-release rpm -Uvh ...

  5. verilog task2

    1.问题:串口的发送和接收 系统时钟50Mhz,波特率119200.系统时钟计数约2604个,才是一位数据的传输时间. 模拟接收的任务函数rx_data_task():LSB first task r ...

  6. AI图谱

  7. ECMAScript2017之async function

    An async function can contain an await expression that pauses the execution of the async function an ...

  8. Anaconda常用命令大全

    使用conda 首先我们将要确认你已经安装好了conda 配置环境 下一步我们将通过创建几个环境来展示conda的环境管理功能.使你更加轻松的了解关于环境的一切.我们将学习如何确认你在哪个环境中,以及 ...

  9. [剑指Offer]35-复杂链表的复制

    链接 https://www.nowcoder.com/practice/f836b2c43afc4b35ad6adc41ec941dba?tpId=13&tqId=11178&tPa ...

  10. [Java学习]面向对象-多态

    多态 多态发生条件 发生在有继承关系的类型中. 向上转型(自动类型转换)与向下转型(强制类型转换) //向上转型 //编译阶段a1被编译器看作是Animal类型,所以a1引用绑定的是Animal类中的 ...