首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Linux 內建雜湊函式庫:OpenSSL 提供 MD5/SHA 系列

     編輯:程式設計綜合問答

結論

Linux 核心本身不提供使用者空間雜湊 API,**標準做法是連結 OpenSSL 庫**(libcrypto)。

常用介面

#include 
#include 

// MD5
unsigned char md5[MD5_DIGEST_LENGTH];
MD5((unsigned char*)data, len, md5);

// SHA-256
unsigned char sha256[SHA256_DIGEST_LENGTH];
SHA256((unsigned char*)data, len, sha256);

編譯連結

gcc -o hash_demo hash_demo.c -lcrypto

其他選擇

  • libsodium:現代、易用、高效能(crypto_hash_sha256)。
  • BLAKE3:極快、並行化,適合大檔案。
  • Python/Go/Java 等高階語言內建標準庫,無需手動連結 C 庫。

大檔案處理

分塊讀取(如 64KB),循環呼叫 MD5_Update/SHA256_Update,最後 _Final 輸出,避免一次性載入記憶體。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved