20181315王曜人OpenSSL测试-SM3
1. 使用OpenSSL的命令计算你的8位学号的摘要值(SM3)

2. 使用OpenSSL编程对计算"你的8位学号"SM3摘要值,提交代码和运行结果截图。
#include <stdio.h> #include <string.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[] = "20181315"; //待计算摘要的消息1 EVP_MD_CTX_init(&mdctx); //初始化摘要结构体 EVP_DigestInit_ex(&mdctx, EVP_sm3(), NULL); //设置摘要算法和密码算法引擎,这里密码算法使用MD5,算法引擎使用OpenSSL默认引擎即软算法 EVP_DigestUpdate(&mdctx, msg1, strlen(msg1));//调用摘要UpDate计算msg1的摘要 EVP_DigestFinal_ex(&mdctx, md_value, &md_len);//摘要结束,输出摘要值 EVP_MD_CTX_cleanup(&mdctx); //释放内存 printf("%s的摘要值为:\n",msg1); for(i = 0; i < md_len; i++) { printf("0x%02x ", md_value[i]); } printf("\n"); } int main() { OpenSSL_add_all_algorithms(); tDigest(); return 0; }


浙公网安备 33010602011771号