OpenSSL/GMSSL EVP接口说明——2.1 杂凑和MAC的使用步骤
2.1 杂凑和MAC的使用步骤
表2.1杂凑和MAC的使用步骤
|
分段式杂凑 |
备注 | |
|
1 |
EVP_MD_CTX_init(&ctx); | |
|
2 |
EVP_DigestInit(&ctx, EVP_sm3() ); | |
|
3 |
EVP_DigestUpdate(&ctx, msg, msg_len); |
可多次添加消息 |
|
4 |
EVP_DigestFinal(&ctx, digest, &dsize); | |
|
5 |
EVP_MD_CTX_cleanup(&ctx); | |
|
一段式杂凑 | ||
|
1 |
EVP_Digest( msg, mlen, digest, &dsize, EVP_sm3(), NULL); |
不涉及EVP_MD_CTX |
|
分段式MAC | ||
|
1 |
EVP_MD_CTX_init(&ctx); | |
|
2 |
HMAC_Init_ex(&ctx, key, klen, EVP_sm3(), NULL); | |
|
3 |
HMAC_Update(&ctx, data, dlen); |
可多次添加消息 |
|
4 |
HMAC_Final(&ctx, md, &mdlen); | |
|
5 |
EVP_MD_CTX_cleanup(&ctx); | |
|
一段式MAC | ||
|
1 |
HMAC ( EVP_sm3(), key, klen, data, dlen, md, &mdlen) |
不涉及EVP_MD_CTX |

浙公网安备 33010602011771号