首页 > 其他分享 >OpenSSL测试-SM3

OpenSSL测试-SM3

时间:2024-04-08 09:36:15浏览次数:21  
标签:md mdctx 摘要 SM3 OpenSSL 测试 EVP

  1. 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务

  2. 使用OpenSSL的命令计算你的8位学号(数字)的摘要值(SM3),提交截图(5')

  3. 使用OpenSSL编程对计算"你的8位学号(数字)"SM3摘要值,提交代码和运行结果截图。(10’)

  4. 使用OpenSSL编程对计算内容为"所有同学的8位学号(文本)"的文件的SM3摘要值,提交代码和运行结果截图。(选做(10’))


2.代码:

include <stdio.h>

include <openssl/evp.h>

include <openssl/sm3.h>

include <string.h>

int main() {
// 要计算摘要的数据
unsigned char data[] = "20211125";
unsigned char md[SM3_DIGEST_LENGTH]; // 用于存储摘要的数组
unsigned int md_len; // 摘要的长度

// 创建摘要上下文
EVP_MD_CTX* mdctx = EVP_MD_CTX_new();
// 初始化摘要计算(指定SM3算法)
EVP_DigestInit_ex(mdctx, EVP_sm3(), NULL);
// 提供数据
EVP_DigestUpdate(mdctx, data, strlen((char *)data));
// 获取计算的摘要
EVP_DigestFinal_ex(mdctx, md, &md_len);
// 清理上下文
EVP_MD_CTX_free(mdctx);

printf("SM3 Digest: ");
for(unsigned int i = 0; i < md_len; i++) {
    printf("%02x", md[i]);
}
printf("\n");

return 0;

}

标签:md,mdctx,摘要,SM3,OpenSSL,测试,EVP
From: https://www.cnblogs.com/20211125mjz/p/18120408

相关文章

  • OpenSSL测试-SM3
    使用OpenSSL的命令计算你的8位学号(数字)的摘要值(SM3)使用OpenSSL编程对计算"你的8位学号(数字)"SM3摘要值3.使用OpenSSL编程对计算内容为"所有同学的8位学号(文本)"的文件的SM3摘要值......
  • OpenSSL测试-Base64
    OpenSSL测试-Base64本次作业分值20分|老师评分 任务详情0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务1.使用工具(如bc,计算机器等)把自己学号转化为16进制,提交转化过程和结果截图(2‘)2.使用工具(如echo-e,ultraedit等)把上面转化的结果写入二进......
  • SM3填充
    SM3填充本次作业分值15分|老师评分 任务详情0.在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务1.使用OpenSSL的命令计算一个小于2048的随机数len,并生成长度为len的一个随机数r,提交截图(5')2.按照SM3的算法要求对r进行填充,提交详细过程和截图。(10’)......
  • 辽宁省第二十一届职业院校技能大赛高职组“软件测试”自动化测试任务要求①
    2024年辽宁省职业院校技能大赛“软件测试”竞赛任务二自动化测试要求一、任务要求题目1:按照以下步骤在PyCharm中进行自动化测试脚本编写并执行。1、设置智能时间等待3秒并将浏览器窗口最大化;2、引入By方法类;3、通过ID属性定位用户名输入框,并输入用户名XTGLY;4、通过NA......
  • 软件测试理论(2)自动化测试
    自动化测试什么时候适用自动化测试?1)可重复的、不知疲倦地运动,对于数据能进行精确的大批量的比较的;2)回归测试3)在机械化的执行和比较测试执行的问题1)自动化测试没有有效的利用,使得手工测试太多。2)测试结果的捕获没有系统性,而且没有查看或调查3)缺陷报告必须......
  • scp小测试
    scp/etc/hostsroot@clone1:etc/hosts点击查看代码[root@master~]#scp/etc/hostsroot@clone1:/etc/hostsTheauthenticityofhost'clone1(192.168.10.11)'can'tbeestablished.ECDSAkeyfingerprintisSHA256:M0el+1DPGcKEb0WRaWYKziDSQZA8x6B/......
  • 2024.1.27c++测试订正代码
    测试订正生成括号题目描述王五是一名数学专业的同学,在课余选修了C++C++C++编程课,现在他能够自己写程序判断......
  • 软件测试最新模型
    软件测试领域随着技术的发展不断演进,新的测试模型和方法不断涌现,以适应不断变化的软件开发需求和提高测试效率。以下是一些最新的软件测试模型:###1.V模型 V模型是瀑布模型的变种,它将测试活动与开发阶段紧密对应。左侧代表开发过程,从需求分析到系统设计、详细设计、编码;右......
  • 人工智能和机器学习(AI/ML)在软件测试中的应用
    人工智能和机器学习(AI/ML)在软件测试中的应用正在逐渐改变传统的测试方法,提高测试效率和质量。以下是AI/ML在测试中的一些关键应用:自动化测试AI可以通过机器学习算法自动识别和执行测试用例,大大提高了测试效率7。AI工具能够学习软件的行为和模式,自动生成测试用例和测试脚本,减......
  • 肖sir__接口测试之postman11.1
    接口测试之postman一、介绍postmanPostman是一个网页调试工具,也可以调试css、html等Postman的操作环境环境:Postman Mac、Windows X32、Windows X64、Linux系统、postman 浏览器扩展程序、postman chrome应用程序Postman下载:https://www.postman.com/downloads/  记得......