当前位置: 首页 > news >正文

提交图片的网站要怎么做网络推广搜索引擎

提交图片的网站要怎么做,网络推广搜索引擎,南庄做网站,html网页搭建任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。 0. 根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?(5‘) 使用OpenSSL实现SDF接…

任务详情

在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务,参考网内容 和AI要给出详细过程,否则不得分。
0. 根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?(5‘)

  1. 使用OpenSSL实现SDF接口中的hash运算接口,至少支持SM3算法,把相关函数集成到src中的sdf.c中中(5’)
  2. 在test中的main.c调用进行测试,至少测试计算你的学号(数字),你的学号(字符串)的SM3值。(5‘)
  3. 提交代码(或代码链接)和运行结果截图

根据gmt0018标准,如何调用接口实现基于SM3求你的学号姓名的SM3值?(5‘)

#include "sdf.h"
#include <string.h>#define BUFFER_SIZE 1024int main() {int rv;unsigned char buffer[BUFFER_SIZE];unsigned int bufferLen;unsigned char hash[32]; // SM3哈希结果为32字节// 计算学号和姓名的SM3哈希值char *id = "20211119";char *name = "陈俊积";bufferLen = strlen(id) + strlen(name);memcpy(buffer, id, strlen(id));memcpy(buffer + strlen(id), name, strlen(name));rv = SDF_Hash(NULL,   // hSessionHandle: 会话句柄,可以为空buffer,bufferLen,hash);if (rv != SDR_OK) {printf("Failed to calculate SM3 hash: %d\n", rv);return -1;}printf("SM3 hash for %s%s: ", id, name);for (int i = 0; i < 32; i++) {printf("%02X", hash[i]);}printf("\n");return 0;
}

使用OpenSSL实现SDF接口中的hash运算接口,至少支持SM3算法,把相关函数集成到src中的sdf.c中中(5’)

为了支持SM3算法,我们可以使用 OpenSSL 库中的 EVP_Digest 函数来计算哈希值。下面是修改后的 SDF_Hash 函数的实现:

int SDF_Hash(void *hSessionHandle,unsigned char *pucData,unsigned int uiDataLength,unsigned char *pucHash)
{if (pucData == NULL || uiDataLength == 0 || pucHash == NULL) {return SDR_INVALID_PARAMETER;}const EVP_MD *md;EVP_MD_CTX *mdctx;md = EVP_sm3();mdctx = EVP_MD_CTX_new();EVP_DigestInit_ex(mdctx, md, NULL);EVP_DigestUpdate(mdctx, pucData, uiDataLength);EVP_DigestFinal_ex(mdctx, pucHash, NULL);EVP_MD_CTX_free(mdctx);return SDR_OK;
}

在上面的代码中,我们使用 OpenSSL 库中的 EVP_Digest 函数计算了哈希值,并将结果存储在 pucHash 缓冲区中。需要注意的是,在使用 EVP_Digest 函数之前,我们需要先初始化 EVP_MD_CTX 结构体,并指定要使用的哈希算法(这里使用 EVP_sm3() 函数)。然后,我们通过 EVP_DigestUpdate 函数传递要计算哈希值的数据,最后通过 EVP_DigestFinal_ex 函数获取哈希结果。

需要将修改后的代码集成到 sdf.c 文件中,如下所示:

#include "sdf.h"
#include <string.h>
#include <openssl/evp.h>int SDF_Hash(void *hSessionHandle,unsigned char *pucData,unsigned int uiDataLength,unsigned char *pucHash)
{if (pucData == NULL || uiDataLength == 0 || pucHash == NULL) {return SDR_INVALID_PARAMETER;}const EVP_MD *md;EVP_MD_CTX *mdctx;md = EVP_sm3();mdctx = EVP_MD_CTX_new();EVP_DigestInit_ex(mdctx, md, NULL);EVP_DigestUpdate(mdctx, pucData, uiDataLength);EVP_DigestFinal_ex(mdctx, pucHash, NULL);EVP_MD_CTX_free(mdctx);return SDR_OK;
}

在test中的main.c调用进行测试,至少测试计算你的学号(数字),你的学号(字符串)的SM3值。(5‘)

#include "sdf.h"
#include <stdio.h>#define BUFFER_SIZE 1024int main() {int rv;unsigned char buffer[BUFFER_SIZE];unsigned char hash[32]; // SM3哈希结果为32字节// 计算学号(数字)的SM3哈希值unsigned int id = 20211128;rv = SDF_Hash(NULL,   // hSessionHandle: 会话句柄,可以为空(unsigned char *)&id,sizeof(id),hash);if (rv != SDR_OK) {printf("Failed to calculate SM3 hash: %d\n", rv);return -1;}printf("SM3 hash for student ID (%u): ", id);for (int i = 0; i < 32; i++) {printf("%02X", hash[i]);}printf("\n");// 计算学号(字符串)的SM3哈希值char *idStr = "20211128";rv = SDF_Hash(NULL,   // hSessionHandle: 会话句柄,可以为空(unsigned char *)idStr,strlen(idStr),hash);if (rv != SDR_OK) {printf("Failed to calculate SM3 hash: %d\n", rv);return -1;}printf("SM3 hash for student ID (string): ");for (int i = 0; i < 32; i++) {printf("%02X", hash[i]);}printf("\n");return 0;
}

提交代码(或代码链接)和运行结果截图

sdf.c

#include "sdf.h"
#include <string.h>
#include <openssl/evp.h>int SDF_Hash(void *hSessionHandle,unsigned char *pucData,unsigned int uiDataLength,unsigned char *pucHash)
{if (pucData == NULL || uiDataLength == 0 || pucHash == NULL) {return SDR_INVALID_PARAMETER;}const EVP_MD *md;EVP_MD_CTX *mdctx;md = EVP_sm3();mdctx = EVP_MD_CTX_new();EVP_DigestInit_ex(mdctx, md, NULL);EVP_DigestUpdate(mdctx, pucData, uiDataLength);EVP_DigestFinal_ex(mdctx, pucHash, NULL);EVP_MD_CTX_free(mdctx);return SDR_OK;
}

main.c

#include "sdf.h"
#include <stdio.h>#define BUFFER_SIZE 1024int main() {int rv;unsigned char buffer[BUFFER_SIZE];unsigned char hash[32]; // SM3哈希结果为32字节// 计算学号(数字)的SM3哈希值unsigned int id = 20211128;rv = SDF_Hash(NULL,   // hSessionHandle: 会话句柄,可以为空(unsigned char *)&id,sizeof(id),hash);if (rv != SDR_OK) {printf("Failed to calculate SM3 hash: %d\n", rv);return -1;}printf("SM3 hash for student ID (%u): ", id);for (int i = 0; i < 32; i++) {printf("%02X", hash[i]);}printf("\n");// 计算学号(字符串)的SM3哈希值char *idStr = "20211128";rv = SDF_Hash(NULL,   // hSessionHandle: 会话句柄,可以为空(unsigned char *)idStr,strlen(idStr),hash);if (rv != SDR_OK) {printf("Failed to calculate SM3 hash: %d\n", rv);return -1;}printf("SM3 hash for student ID (string): ");for (int i = 0; i < 32; i++) {printf("%02X", hash[i]);}printf("\n");return 0;
}
http://www.hkea.cn/news/111631/

相关文章:

  • 阿里云部署一个自己做的网站吗电商网站搭建
  • 免费汽车租赁网站模板网站域名解析ip查询
  • 企业解决方案官网国内seo排名分析主要针对百度
  • 变态版手游石景山区百科seo
  • 阿里云控制台登录入口seo矩阵培训
  • wordpress苗木模板网站搜索排优化怎么做
  • 网站图片引导页怎么做重庆seo招聘
  • 如何做属于自己的领券网站郑州百度网站优化排名
  • 建设银行益阳市分行桃江支行网站公司页面设计
  • vps 网站上传网站seo优化是什么意思
  • wordpress cos腾讯云seo网站优化收藏
  • 鹤岗商城网站建设免费域名申请
  • 江苏三个地方疫情严重抖音视频排名优化
  • 竞价排名广告东莞关键词排名快速优化
  • 做视频网站要什么格式好网络营销公司怎么注册
  • 企业专业网站建设快速网站搭建
  • 武威建设网站的网站google谷歌搜索
  • 长沙公司做网站多少钱推广平台怎么做
  • 现在大家做电商网站用什么源码营销策略都有哪些
  • 可以做试卷的网站英语怎么说seo关键词排名优化系统源码
  • 网站怎么设置支付功能企业网站的主要类型有
  • 成都圣都装饰装修公司北京搜索优化排名公司
  • 境外建设网站贴吧互联网域名注册查询
  • 广州建站工作室淘客推广怎么做
  • 中国最大的网站建设公司百度广告联盟点击一次多少钱
  • wordpress单页主题营销seo手机关键词网址
  • dedecms做电影网站韩国最新新闻
  • 哪个网站做废旧好如何在百度上发布自己的广告
  • 网站表单及商品列表详情模板如何搭建自己的网站
  • 网站域名登记证明百度高级搜索怎么用