Tongsuo icon indicating copy to clipboard operation
Tongsuo copied to clipboard

请问下sm3该怎么调用

Open 593618638 opened this issue 2 years ago • 5 comments

我想测试下babassl和我自己写的sm3算法的性能,但是找不到bababssl的sm3的接口,请问下该怎么调用sm3处理消息msg

按如下逻辑进行测试

相同的msg 开始时间戳 循环n次 调用babassl sm3接口 结束时间戳

总时间 = 结束时间戳 - 开始时间戳

593618638 avatar Jun 24 '22 03:06 593618638

用EVP接口:

     EVP_MD_CTX *mdctx;
     char mess[] = "Test Message\n";
     unsigned char md_value[EVP_MAX_MD_SIZE];
     unsigned int md_len, i;

     mdctx = EVP_MD_CTX_new();
     EVP_DigestInit_ex(mdctx, EVP_sm3(), NULL);
     EVP_DigestUpdate(mdctx, mess, strlen(mess));
     EVP_DigestFinal_ex(mdctx, md_value, &md_len);
     EVP_MD_CTX_free(mdctx);

     printf("Digest is: ");
     for (i = 0; i < md_len; i++)
         printf("%02x", md_value[i]);
     printf("\n");

InfoHunter avatar Jun 24 '22 04:06 InfoHunter

谢谢谢谢!还想问下能把需要引用的头文件和库也写一下吗,实在是小白第一次用,很抱歉这么伸手党。

593618638 avatar Jun 24 '22 06:06 593618638

#include <openssl/evp.h>

InfoHunter avatar Jun 24 '22 06:06 InfoHunter

库直接连libcrypto就行,-lcrypto

InfoHunter avatar Jun 24 '22 06:06 InfoHunter

请问下,有SM2和SM4对应的调用方式吗?我在文档中没找到T.T @InfoHunter

RideDi avatar Oct 18 '22 11:10 RideDi