0429测试2

1.命令行操作过程截图和结果

2.完整代码和程序运行结果截图以及两次结果的对比

#include <stdio.h>
#include <openssl/hmac.h>
#include <openssl/evp.h>
#include <openssl/rand.h>

int main() {
    // 要加密的字符串
    char data[] = "Hello, 苗靖章20211125!";
    unsigned char key[32];  // 32字节的密钥
    unsigned int result_len;
    unsigned char result[EVP_MAX_MD_SIZE];  // 存储结果

    // 生成一个随机密钥
    if (!RAND_bytes(key, sizeof(key))) {
        fprintf(stderr, "Error generating random key\n");
        return 1;
    }

    // 使用HMAC-SM3计算MAC
    HMAC(EVP_sm3(), key, sizeof(key), (unsigned char*)data, sizeof(data) - 1, result, &result_len);

    // 打印结果
    printf("HMAC-SM3: ");
    for (unsigned int i = 0; i < result_len; i++) {
        printf("%02x", result[i]);
    }
    printf("\n");

    return 0;
}

3.龙脉完整代码和程序运行结果截图以及两次结果的对比

posted @ 2024-04-29 09:28  6666666mjz  阅读(18)  评论(0)    收藏  举报