從C 語言中的檔案計算MD5 雜湊
在保護資料完整性至關重要的場景中,MD5 雜湊演算法起著至關重要的作用。要在C 中計算檔案的MD5 雜湊值,這裡有一個利用OpenSSL 的強大實作:
實作:
#include <fstream> #include <openssl/md5.h> int main() { // Open the file std::ifstream file("input_file.txt"); // Create a buffer to store the file contents std::vector<char> buffer(std::istreambuf_iterator<char>(file), {}); // Calculate the MD5 hash unsigned char hash[MD5_DIGEST_LENGTH]; MD5((unsigned char*) buffer.data(), buffer.size(), hash); // Convert the hash to a string std::stringstream ss; for (int i = 0; i < MD5_DIGEST_LENGTH; i++) { ss << std::hex << std::setfill('0') << std::setw(2) << (int) hash[i]; } std::string md5_hash = ss.str(); // Print the MD5 hash std::cout << "MD5 hash: " << md5_hash << std::endl; return 0; }
此實作開啟檔案,讀取其內容到緩衝區中,並使用OpenSSL 函式庫計算MD5 哈希值。然後將哈希值轉換為十六進位字串並顯示。
以上是如何使用 OpenSSL 在 C 中計算檔案的 MD5 雜湊值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!