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
crypto_hash_sha256)。分塊讀取(如 64KB),循環呼叫 MD5_Update/SHA256_Update,最後 _Final 輸出,避免一次性載入記憶體。