本文属于《OpenSSL加密算法库使用系列教程》之一,欢迎查看其它文章。
我们知道OpenSSL有一个命令行工具openssl.exe,可以通过命令实现很多的操作,同时OpenSSL还提供了动态库,所以如果我们想调用OpenSSL,有2种方法:
- 通过启动一个外部进程openssl.exe的方式,传入执行命令,然后获取执行结果;
- 通过动态库的方式,直接调用函数。
以上2种方式,都有很多软件采用。
我们这里仅讨论通过动态库调用OpenSSL,以下在Qt工程中调用OpenSSL加密库为例进行说明。
一、在Win下调用OpenSSL加密库
本机OpenSSL默认安装在C:/Program Files/OpenSSL-Win64目录下。
在pro文件中,在win32括号内,添加头文件路径和链接lib如下:
win32 {
INCLUDEPATH += $$quote(C:/Program Files/OpenSSL-Win64/include)
LIBS += -L$$quote(C:/Program Files/OpenSSL-Win64/lib) -llibcrypto
}
然后在工程中就可以调用openssl函数了。
运行时,将OpenSSL安装目录C:\Program Files\OpenSSL-Win64\bin下的,libcrypto-1_1-x64.dll拷贝到,与exe同一目录下。
二、在Linux下调用OpenSSL加密库
仅需在pro文件中,unix括号内添加如下:
unix {
INCLUDEPATH += /usr/include
LIBS += -lcrypto
}
然后,在源文件中正常调用OpenSSL函数即可。
运行时,应用程序依赖于OpenSSL的动态库libcrypto.so.1.x.x,如libcrypto.so.1.0.0。这个库在系统或OpenSSL安装目录下就有。
若对你有帮助,欢迎点赞、收藏、评论,你的支持就是我的最大动力!!!
同时,阿超为大家准备了丰富的学习资料,欢迎关注公众号“超哥学编程”,即可领取。