c++鎬庝箞瀹炵幇md5鍔犲瘑绠楁硶
瑕佸湪C++涓疄鐜癕D5鍔犲瘑绠楁硶锛屽彲浠ヤ娇鐢ㄧ幇鎴愮殑搴撴垨鑰呰嚜宸辩紪鍐欏疄鐜般€備笅闈㈡槸涓€涓畝鍗曠殑绀轰緥浠g爜鏉ュ疄鐜癕D5鍔犲瘑绠楁硶锛?/p>
#include <iostream>
#include <string>
#include <openssl/md5.h>
std::string md5(const std::string& input) {
unsigned char digest[MD5_DIGEST_LENGTH];
MD5((const unsigned char*)input.c_str(), input.length(), digest);
char mdString[33];
for(int i = 0; i < 16; i++) {
sprintf(&mdString[i*2], "%02x", (unsigned int)digest[i]);
}
return mdString;
}
int main() {
std::string input = "Hello, World!";
std::string md5Result = md5(input);
std::cout << "MD5 of '" << input << "' is: " << md5Result << std::endl;
return 0;
}
鍦ㄨ繖涓ず渚嬩唬鐮佷腑锛屼娇鐢ㄤ簡OpenSSL搴撲腑鐨凪D5鍑芥暟鏉ヨ绠楄緭鍏ュ瓧绗︿覆鐨凪D5鍊笺€傚彲浠ュ皢闇€瑕佸姞瀵嗙殑瀛楃涓蹭紶閫掔粰md5鍑芥暟锛屽畠灏嗚繑鍥炰竴涓狹D5鍔犲瘑鍚庣殑缁撴灉銆傚湪main鍑芥暟涓紝鎵撳嵃鍑轰簡"Hello, World!"瀛楃涓茬殑MD5缁撴灉銆?/p>
闇€瑕佹敞鎰忕殑鏄紝杩欓噷浣跨敤浜哋penSSL搴擄紝鍥犳缂栬瘧鏃堕渶瑕侀摼鎺penSSL搴撱€傚彲浠ヤ娇鐢ㄤ互涓嬪懡浠ゆ潵缂栬瘧浠g爜锛?/p>
g++ -o md5_example md5_example.cpp -lssl -lcrypto
杩欐牱灏卞彲浠ュ疄鐜板湪C++涓娇鐢∕D5鍔犲瘑绠楁硶銆?/p>
相关问答