Linux下MD5演算法使用

2021-09-08 17:13:54 字數 1008 閱讀 1708

出處:

我們以乙個字串為例,新建乙個檔案filename.txt,在檔案內寫入hello ,然後在linux下可以使用命令md5sum filename.txt計算md5值 ==> b1946ac92492d2347c6235b4d2611184  。雖然寫入的是hello這5個字元,但是我們使用命令xxd filename.txt後可以看出檔案結尾處會有個0x0a這個回車符。所以在下面的**中才會有\n。

//開啟/usr/include/openssl/md5.h這個檔案我們可以看到一些函式

// 初始化 md5 contex, 成功返回1,失敗返回0

int md5_init(md5_ctx *c);

// 迴圈呼叫此函式,可以將不同的資料加在一起計算md5,成功返回1,失敗返回0

int md5_update(md5_ctx *c, const void *data, size_t len);

// 輸出md5結果資料,成功返回1,失敗返回0

int md5_final(unsigned char *md, md5_ctx *c);

// md5_init,md5_update,md5_final三個函式的組合,直接計算出md5的值

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

// 內部函式,不需要呼叫

void md5_transform(md5_ctx *c, const unsigned char *b);

新建乙個cpp檔案(c檔案也可以)用於計算md5值
#include #include #include int main()

md5_init(&ctx);

while((len=fread(buffer,1,1024,fp))>0)

md5_final(ou***,&ctx);

for(i=0;i<16;i執行得到結果後,我們可以使用md5sum命令進行驗證。

MD5演算法 加密

ps 在開發的某些業務中,涉及到一些明文不太安全的時候會用到加密演算法,常用的一般有md5加密 des aes 等加密方式這裡自己了解了一下md5加密。1 md5演算法加密 也就是 資訊 摘要演算法5 就是把乙個任意長度的位元組串變換成一定長的十六進製制數字串 public static strin...

MD5演算法實現

md5.h ifndef md5 h define md5 h typedef struct md5 ctx 非線性輔助函式 define f x,y,z x y x z define g x,y,z x z y z define h x,y,z x y z define i x,y,z y x z...

MD5演算法實現

md5.h ifndef md5 h define md5 h typedef struct md5 ctx 非線性輔助函式 define f x,y,z x y x z define g x,y,z x z y z define h x,y,z x y z define i x,y,z y x z...