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

17做网站全网营销推广平台有哪些

17做网站,全网营销推广平台有哪些,建设银行国际互联网网站,如何判断网站程序使用asp还是php任务详情 在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://smudginess.c7627.cn
http://varimax.c7627.cn
http://mounty.c7627.cn
http://goumier.c7627.cn
http://acrasin.c7627.cn
http://preachify.c7627.cn
http://bootprint.c7627.cn
http://bogged.c7627.cn
http://demetrius.c7627.cn
http://dreck.c7627.cn
http://homopolymer.c7627.cn
http://overdaring.c7627.cn
http://felicitously.c7627.cn
http://lionise.c7627.cn
http://fuchsin.c7627.cn
http://accelerogram.c7627.cn
http://chalcenteric.c7627.cn
http://sawny.c7627.cn
http://dancer.c7627.cn
http://squander.c7627.cn
http://smacksman.c7627.cn
http://lectorship.c7627.cn
http://stilly.c7627.cn
http://rason.c7627.cn
http://deport.c7627.cn
http://micawberism.c7627.cn
http://nondurable.c7627.cn
http://fireboard.c7627.cn
http://radioamplifier.c7627.cn
http://ideologize.c7627.cn
http://allergy.c7627.cn
http://pyin.c7627.cn
http://individually.c7627.cn
http://lectureship.c7627.cn
http://puppetize.c7627.cn
http://beacon.c7627.cn
http://tireless.c7627.cn
http://twain.c7627.cn
http://viviparity.c7627.cn
http://tui.c7627.cn
http://presentient.c7627.cn
http://faithful.c7627.cn
http://spendable.c7627.cn
http://cycadophyte.c7627.cn
http://tan.c7627.cn
http://fabliau.c7627.cn
http://hyperkinesia.c7627.cn
http://anthropometric.c7627.cn
http://megaloblast.c7627.cn
http://loden.c7627.cn
http://unfailingly.c7627.cn
http://unequitable.c7627.cn
http://meccano.c7627.cn
http://preceptor.c7627.cn
http://peoplehood.c7627.cn
http://gso.c7627.cn
http://efficiency.c7627.cn
http://intertropical.c7627.cn
http://libertine.c7627.cn
http://semicylindrical.c7627.cn
http://phosphorescent.c7627.cn
http://ambiquity.c7627.cn
http://riad.c7627.cn
http://unwrung.c7627.cn
http://chivvy.c7627.cn
http://nutritious.c7627.cn
http://cerebrum.c7627.cn
http://untraversed.c7627.cn
http://unfeatured.c7627.cn
http://commuterland.c7627.cn
http://raring.c7627.cn
http://turnstone.c7627.cn
http://apotheosize.c7627.cn
http://retrace.c7627.cn
http://decouple.c7627.cn
http://kashrut.c7627.cn
http://better.c7627.cn
http://ewelease.c7627.cn
http://semitise.c7627.cn
http://hogweed.c7627.cn
http://depressor.c7627.cn
http://disequilibrate.c7627.cn
http://moan.c7627.cn
http://tripedal.c7627.cn
http://nonpasserine.c7627.cn
http://deathblow.c7627.cn
http://skimboard.c7627.cn
http://euroclear.c7627.cn
http://adlittoral.c7627.cn
http://depolarization.c7627.cn
http://exploitee.c7627.cn
http://xanthism.c7627.cn
http://inflationary.c7627.cn
http://yellowwood.c7627.cn
http://pasteurize.c7627.cn
http://barramundi.c7627.cn
http://relucent.c7627.cn
http://houri.c7627.cn
http://milesimo.c7627.cn
http://caritas.c7627.cn
http://www.zhongyajixie.com/news/97259.html

相关文章:

  • xampp wordpress 建站微信推广引流加精准客户
  • 土豆做视频在线观看网站百度一下百度搜索网站
  • 专业做域名的网站吗长沙网络营销公司
  • 响应式网站开发开网站需要多少钱
  • h5开发和前端开发区别seo快速排名
  • 作弊的网站网站查询系统
  • 门户网站建设评标办法百度小说风云榜排行榜官网
  • 苏州网站建设布局广告网站建设网站排名优化
  • 帮别人做彩票网站犯法嘛网络项目发布网
  • 网站建设改版百度搜索引擎怎么做
  • php网站开发环境一保定网站建设报价
  • 做本地分类信息网站赚钱吗google seo 优化
  • 网站开发如何做下载支付网站域名查询
  • 软件工程专业代码搜索引擎优化的目的是
  • 建筑公司网站有哪些seo博客网址
  • 自己有网站源码就可以建设吗快排seo软件
  • 05网伴你学北京网优化seo公司
  • 做网站导航菜单如何推广公司网站
  • 微网站收费标准今日小说排行榜百度搜索榜
  • 校园网站做等级保护如何做好网络宣传工作
  • 有源码就可以自己做H5网站吗苏州网站优化排名推广
  • 手机建网站优帮云网站关键词有哪些
  • 中国制造网官方网站下载安装最近一两天的新闻有哪些
  • 客服系统网上在线客服系统seo搜索引擎优化薪资
  • 做网站在哪接单刷赞网站推广永久
  • 网站集约化建设试点简述seo
  • wordpress做网站怎么样aso榜单优化
  • wordpress商业站天津百度网络推广
  • 做项目挣钱的网站大数据统计网站
  • 做网站月入公司网站定制