c++10~c++的md5

2018.12.27

c++的md5

  • include <openssl/md5.h>

  • ldflags -lssls
std::string encode_md5(std::string str) {

    unsigned char md_str[33] = {0};  
    MD5((const unsigned char *)str.c_str(), str.length(), md_str);  

    // 哈希后的十六进制串 32字节    
    char buf[65] = {0};  
    char tmp[3] = {0};  
    for (int i = 0; i < 32; i++) {  
        snprintf(tmp, sizeof(tmp), "%02x", md_str[i]);  
        strncat(buf, tmp, sizeof(buf));  
    }  
    buf[32] = '\0'; // 后面都是0,从32字节截断    
    // printf("md5:%s\n", buf);
    return std::string(buf);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容