技术日常

c++10~c++的md5

2018-12-27  本文已影响17人  摹喵居士

2018.12.27

c++的md5

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);
}
上一篇 下一篇

猜你喜欢

热点阅读