南宁哪个公司做网站建设,wordpress搜索即时显示,上海空气中检测出阳性,安卓系统软件开发培训机构文章目录 一、编译生成链接库二、示例一#xff1a;调用RAND_bytes函数三、示例二#xff1a;调用SHA256 一、编译生成链接库
下载安装openssl并编译生成链接库的过程在我的另一篇文章中已经详细说明了#xff1a;Ubuntu中安装OpenSSL
此外#xff0c;我们还需要提前了解… 文章目录 一、编译生成链接库二、示例一调用RAND_bytes函数三、示例二调用SHA256 一、编译生成链接库
下载安装openssl并编译生成链接库的过程在我的另一篇文章中已经详细说明了Ubuntu中安装OpenSSL
此外我们还需要提前了解一些关于动态链接库的知识具体内容可以在我的这篇文章中查看一个简单的动态链接库示例
二、示例一调用RAND_bytes函数
要调用OpenSSL库中的函数需要在对应的C源文件中包含相应的头文件并将库文件链接到程序中。
下面是一个简单的示例演示如何在一个名为main.c的文件中使用OpenSSL库中的函数。
#include stdio.h
#include openssl/rand.h int main() { // 生成一个随机的字节序列 unsigned char randomBytes[16]; RAND_bytes(randomBytes, sizeof(randomBytes)); // 打印生成的随机字节序列 printf(随机字节序列: ); for (int i 0; i sizeof(randomBytes); i) { printf(%02x, randomBytes[i]); } printf(\n); return 0;
}在这个示例中引入了openssl/rand.h头文件该文件包含RAND_bytes函数的声明。然后在main函数中通过调用了RAND_bytes函数来生成一个随机的字节序列并将其打印出来。
要编译并链接这个程序需要将OpenSSL库文件链接到该程序。可以使用下面的命令进行编译执行
gcc -o main main.c -lssl -lcrypto./main可以得到对应的输出结果 三、示例二调用SHA256
首先新建一个main1.c文件编写如下的代码
#include stdio.h
#include openssl/sha.h int main() { unsigned char data[] Hello, World!; unsigned char sha256_result[SHA256_DIGEST_LENGTH]; SHA256(data, strlen((char*)data), sha256_result); printf(SHA256 Result: ); for (int i 0; i SHA256_DIGEST_LENGTH; i) { printf(%02x, sha256_result[i]); } printf(\n); return 0;
}之后编译执行即可得到对应的结果
gcc -o main1 main1.c -lssl -lcrypto./main1