您好,登錄后才能下訂單哦!
哈希算法(Hash Algorithm)是一種將任意長度的輸入數據映射到固定長度輸出的算法
<functional>
(C++標準庫中的通用哈希函數)和<openssl/sha.h>
(OpenSSL庫中的SHA-256哈希函數)。#include <iostream>
#include <functional>
#include <openssl/sha.h>
std::hash
來計算整數或浮點數的哈希值,使用std::hash<std::string>
來計算字符串的哈希值。int main() {
int a = 42;
float b = 3.14f;
std::string s = "Hello, World!";
std::hash<int> hasher_int;
std::hash<float> hasher_float;
std::hash<std::string> hasher_string;
std::cout << "Hash value of int: " << hasher_int(a) << std::endl;
std::cout << "Hash value of float: " << hasher_float(b) << std::endl;
std::cout << "Hash value of string: " << hasher_string(s) << std::endl;
return 0;
}
#include <iostream>
#include <sstream>
#include <iomanip>
#include <openssl/sha.h>
std::string sha256(const std::string& input) {
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, input.c_str(), input.size());
SHA256_Final(hash, &sha256);
std::stringstream ss;
for (int i = 0; i < SHA256_DIGEST_LENGTH; ++i) {
ss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(hash[i]);
}
return ss.str();
}
int main() {
std::string s = "Hello, World!";
std::string hashed_s = sha256(s);
std::cout << "SHA-256 hash value of string: " << hashed_s << std::endl;
return 0;
}
注意:在使用OpenSSL庫之前,需要確保已經正確安裝并配置了該庫。具體安裝方法取決于操作系統和包管理器。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。