linux下安装调用opensll

下载opensll:http://www.openssl.org/source/

在Linux下使用tar 命令进行安装:tar xzvf        openssl-3.0.0-beta2.tar.gz

解压完成:

 查看./config文件

使用make进行编译

 使用sudo make install命令

./config:生成一个makefile并检查一下文件,在执行make将源码编译为库文件或者二进制文件,在执行make install(sudo)进行安装,安装完成后可以使用openssl version -a进行查看

发生库连接的错误,查阅资料将库进行连接一下

(这里可以根据情况连接道lib32还是lib)

sudo ln -s /usr/local/lib64/libssl.so.3 /usr/lib

sudo ln -s /usr/local/lib64/libcrypto.so.3 /usr/lib/

在次执行版本查看命令:openssl version -a

 遗留问题:usr/lib和usr/local的作用

查看一下安装的头文件和库文件

 

安装完成后使用测试案例对函数进行调用

 

调用程序:

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

void getMD5(const char* str,char* result)
{
	MD5_CTX ctx;
	MD5_Init(&ctx);
	MD5_update(&ctx,str,strlen(str));
	unsigned char md[16] = {0};
	MD5_Final(md,&ctx);
	for(int i = 0;i < 16;++i)
	{
		sprintf(&result[i*2],"%02x",md[i]);
	}
}

int main()
{
	char result[33] = {0};
	getMD5("hello,md5",result);
	printf("md5 value:%s\n",result);
	return 0;
}

//参数
//-I(include):头文件的路径:locate md5.h
//-L(lib):库的路径:locate libssl.so
//加上具体的库的名字-lssl -lcrypto
//编译gcc md5_test.c -I/usr/local/include -

使用编译:gcc -o to test_opensll.c -I /usr/local/ssl/inlcude -L /usr/local/ssl/lib -ldl -lpthread

 gcc -o to md5_test.c -I /usr/local/inlcude -L /usr/local/lib64 -lssl -lcrypto

编译时,不加路径的情况:

如果没有指定任何安装目录则安装到系统指定的默认目录之下去,如果自己指定了安装路径则在编译的时候必须要加上。 

发现问题:test_opensll.c:(.text+0xf):对‘OPENSSL_init_crypto’未定义的引用

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潘多拉的面

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值