static const EVP_MD *OpensslGetMacAlgoFromString(const char *mdName) { if (strcmp(mdName, "SHA1") == 0) { return EVP_sha1(); } else if (strcmp(mdName, "SHA224") == 0) { return EVP_sha224(); } else if (strcmp(mdName, "SHA256") == 0) { return EVP_sha256(); } else if (strcmp(mdName, "SHA384") == 0) { return EVP_sha384(); } else if (strcmp(mdName, "SHA512") == 0) { return EVP_sha512(); } return NULL; }
时间: 2024-04-27 16:23:04 浏览: 88
evp_md.zip_digest_evp_哈希算法
这段代码是用来获取 OpenSSL 库中某个消息摘要算法的函数指针。函数的参数是一个字符串,表示需要获取的消息摘要算法的名称,函数会根据这个字符串返回对应的消息摘要算法函数指针。如果传入的字符串不属于 OpenSSL 支持的消息摘要算法,函数会返回 NULL。
这段代码中使用了 OpenSSL 库中的 EVP 算法接口,通过调用 EVP_sha1()、EVP_sha224()、EVP_sha256()、EVP_sha384()、EVP_sha512() 函数来获取对应的消息摘要算法函数指针,从而实现了对多种消息摘要算法的支持。
阅读全文