亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hash算法在C++中如何應用

發布時間:2024-11-20 09:35:32 來源:億速云 閱讀:78 作者:小樊 欄目:編程語言

哈希算法(Hash Algorithm)是一種將任意長度的輸入數據映射到固定長度輸出的算法

  1. 包含頭文件:在C++代碼中,首先需要包含相應的哈希庫頭文件。常用的哈希庫有<functional>(C++標準庫中的通用哈希函數)和<openssl/sha.h>(OpenSSL庫中的SHA-256哈希函數)。
#include <iostream>
#include <functional>
#include <openssl/sha.h>
  1. 使用通用哈希函數:C++標準庫提供了通用的哈希函數,可以用于簡單的數據類型(如整數、浮點數和字符串)。例如,可以使用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;
}
  1. 使用OpenSSL庫中的SHA-256哈希函數:如果需要計算更安全的哈希值,可以使用OpenSSL庫中的SHA-256算法。以下是一個使用OpenSSL庫計算字符串SHA-256哈希值的示例:
#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庫之前,需要確保已經正確安裝并配置了該庫。具體安裝方法取決于操作系統和包管理器。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

阳信县| 静乐县| 合作市| 义乌市| 大丰市| 土默特右旗| 安福县| 石景山区| 子长县| 淮北市| 新河县| 崇信县| 朝阳县| 临沧市| 仙游县| 日照市| 全椒县| 浦北县| 隆子县| 五原县| 永定县| 榆树市| 阿拉善右旗| 宜丰县| 东平县| 兴城市| 承德县| 洛浦县| 奎屯市| 哈巴河县| 天水市| 凉城县| 金昌市| 苍山县| 岳普湖县| 泸溪县| 永和县| 佛坪县| 宿迁市| 昌宁县| 庆安县|