linux下 C 最簡單獲取MD5方法

2021-09-09 09:18:18 字數 984 閱讀 9975

在網上蒐集了好幾個c++的md5演算法源**,除錯通過後計算出的值看起來是md5,實際卻不是,產生了部分偏移。做c++程式用這些**的話,肯定無法達到使用md5驗證的目的。

爾後發現 linux shell 有直接的命令 可以 獲取 字串/檔案的md5,就通過使用 popen進行互動獲取md5值,如下:

理論上,能使用 shell 互動的 功能都能通過 popen進行互動,例如 本人通過python 實現了 rsa非對稱加密,但是得用c++表達程式,則可以用這個方法,簡單有效。

由於使用了 shell 功能,效率上肯定慢一些,在高效的場合下不推薦使用,可以試著用 python 混編,載入python模組呼叫api

以下為 該 md5 完整**,除錯通過

#include#include#include#include#include#include#include#include#include#includeusing namespace std;

void *string2char(string thestring,char re)

//execute shell command

//執行乙個shell命令,輸出結果逐行儲存在resvec中,並返回行數

int32_t linuxshell(const char *cmd, vector&resvec)

char tmp[1024]; //設定乙個合適的長度,以儲存每一行輸出

while (fgets(tmp, sizeof(tmp), pp) != null)

resvec.push_back(tmp);

}pclose(pp); //關閉管道

return resvec.size();

}int main(int argc, char *ar**)

window linux下獲取檔案MD5

md5訊息摘要演算法 英語 md5 message digest algorithm 主要用於確保資訊傳輸過程的一致性校驗。首先介紹兩個工具 window winmd5free linux md5sum 這兩個工具的作用是驗證自己寫的程式獲取md5是否正確。1 string getfilemd5 c...

Linux下MD5演算法使用

出處 我們以乙個字串為例,新建乙個檔案filename.txt,在檔案內寫入hello 然後在linux下可以使用命令md5sum filename.txt計算md5值 b1946ac92492d2347c6235b4d2611184 雖然寫入的是hello這5個字元,但是我們使用命令xxd fil...

Linux下的md5的實現

當前專案中基於raw socket實現了tcp包的過濾,其中的過濾條件是我司的產品編號,為了防止甲方爸爸隨意亂用我們的產品,所以需要對配置檔案裡的產品編號進行加密,簡單起見,使用md5來進行加密 linux下使用md5非常簡單 md5sum filename即可 root 09de35f53b68 ...