91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

rsa加密如何在C++中實現

c++
小樊
92
2024-07-12 15:01:31
欄目: 編程語言

在C++中實現RSA加密需要使用第三方庫,比如OpenSSL或Crypto++. 這里我給出一個使用Crypto++庫實現RSA加密的示例代碼:

#include <iostream>
#include <string>
#include <cryptopp/rsa.h>
#include <cryptopp/osrng.h>
#include <cryptopp/base64.h>

using namespace CryptoPP;

std::string rsaEncrypt(const std::string& msg, const RSA::PublicKey& key) {
    std::string encrypted;
    RSAES_OAEP_SHA_Encryptor encryptor(key);
    
    StringSource(msg, true, new PK_EncryptorFilter(rng, encryptor, new StringSink(encrypted)));
    
    return encrypted;
}

int main() {
    AutoSeededRandomPool rng;
    
    // 生成RSA密鑰對
    RSA::PrivateKey privateKey;
    RSA::PublicKey publicKey;
    privateKey.GenerateRandomWithKeySize(rng, 2048);
    privateKey.MakePublicKey(publicKey);
    
    // 待加密的明文
    std::string msg = "Hello, world!";
    
    // 使用公鑰加密明文
    std::string encrypted = rsaEncrypt(msg, publicKey);
    
    std::cout << "Encrypted message: " << encrypted << std::endl;
    
    return 0;
}

在上面的代碼中,我們使用Crypto++庫提供的RSAES_OAEP_SHA_Encryptor類進行RSA加密,使用PK_EncryptorFilter類進行過濾加密數據。首先生成RSA密鑰對,然后使用公鑰加密明文。最后輸出加密后的數據。

0
溆浦县| 方城县| 额尔古纳市| 大港区| 乡城县| 革吉县| 石屏县| 银川市| 和龙市| 明光市| 偃师市| 邯郸市| 陕西省| 桐乡市| 托克逊县| 洪湖市| 普兰店市| 周至县| 柳林县| 临泽县| 宁安市| 浏阳市| 宜阳县| 邵武市| 华阴市| 沛县| 宁南县| 迁安市| 乌兰浩特市| 临夏县| 台北县| 长岭县| 嘉善县| 琼中| 彝良县| 临桂县| 宜君县| 龙州县| 莒南县| 湖州市| 开阳县|