⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 OpenSSL-Test软件包是OpenSSL使用示例
💻 C
字号:
#include <stdio.h>
#include <string.h>
#include <windows.h>
#include <openssl/evp.h>
void tDigest()
{
	unsigned char md_value[EVP_MAX_MD_SIZE];	//保存输出的摘要值的数组
	int md_len, i;
	EVP_MD_CTX mdctx;							//EVP消息摘要结构体
	char msg1[] = "Test Message1";				//待计算摘要的消息1	
	char msg2[] = "Test Message2";				//待计算摘要的消息2
	
	EVP_MD_CTX_init(&mdctx);					//初始化摘要结构体 
	EVP_DigestInit_ex(&mdctx, EVP_md5(), NULL);	//设置摘要算法和密码算法引擎,这里密码算法使用MD5,算法引擎使用OpenSSL默认引擎即软算法
	EVP_DigestUpdate(&mdctx, msg1, strlen(msg1));//调用摘要UpDate计算msg1的摘要
	EVP_DigestUpdate(&mdctx, msg2, strlen(msg2));//调用摘要UpDate计算msg2的摘要	
	EVP_DigestFinal_ex(&mdctx, md_value, &md_len);//摘要结束,输出摘要值	

//	EVP_Digest(msg1, strlen(msg1), md_value, &md_len, EVP_md5(), NULL);

	EVP_MD_CTX_cleanup(&mdctx);						//释放内存
	
	printf("原始数据%s和%s的摘要值为:\n",msg1,msg2);
	for(i = 0; i < md_len; i++) 
	{
		printf("0x%02x ", md_value[i]);
	}
	printf("\n");
}
int main()
{ 
	OpenSSL_add_all_algorithms();
	tDigest();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -