91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

openssl md5

發布時間:2020-07-23 04:55:19 來源:網絡 閱讀:5439 作者:zy20140925 欄目:編程語言

關于 16位和32位  md5得到的是一個16字節的散列值 每個字節用16進制(0x**)格式成兩個字符,連起來得到一個32個字符的串這就是所說的32位。16位就是取的32位的中間段


md5(aabbccdd) 32位 = bf3b2290e229da2ba272a81c602ea88d

md5(aabbccdd) 16位 =         e229da2ba272a81c


使用openssl的md5有兩種方式


第一種 為非連緩的字符串準備的 多次調用MD5_Update最后通過MD5_Final得到最終的md5值

int MD5_Init(MD5_CTX *c);

int MD5_Update(MD5_CTX *c, const void *data, size_t len);

int MD5_Final(unsigned char *md, MD5_CTX *c);


第二種 直接得到結果  函數源代碼里面其實也是直接調用的 MD5_Init MD5_Update MD5_Final

unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);



#include <openssl/md5.h>
#include <stdio.h>
#include <string>
#include <string.h>
int main()
{
    unsigned char MD5result[16];
    std::string src = "aabbccddee";
    std::string md5 = ""; 
    std::string md5_16 = ""; 
    char temp[33] = {}; 
    MD5((const unsigned char*)src.c_str(), src.size(), MD5result);
    for(int i = 0; i < 16; ++i)
    {   
        snprintf(temp, 10, "%02x", MD5result[i]);
        md5 += temp;
        if(i >= 4 && i <= 11) 
            md5_16 += temp;
    }   
    printf("src:%s\nmd5 32位:%s\nmd5 16位:        %s\n", src.c_str(), md5.c_str(), md5_16.c_str());                                                                                                                                                                           
    return 0;
}

g++ -g -o openssl_md5 openssl_md5.cpp -I/usr/include/openssl -lssl -lcrypto -L/usr/lib64


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宣汉县| 田阳县| 吉林市| 崇礼县| 安溪县| 普兰店市| 墨脱县| 建始县| 景洪市| 罗山县| 吉林省| 湖南省| 永修县| 库尔勒市| 大田县| 黑龙江省| 肃北| 通山县| 大埔区| 仪陇县| 东乌珠穆沁旗| 嘉善县| 伊宁县| 万年县| 八宿县| 德昌县| 平武县| 汶上县| 莲花县| 乌鲁木齐市| 兴安盟| 桂平市| 辉县市| 富民县| 武乡县| 汉川市| 建德市| 永仁县| 康保县| 广宗县| 岱山县|