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

溫馨提示×

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
双鸭山市| 房产| 衡南县| 丘北县| 习水县| 辰溪县| 阳东县| 方城县| 海门市| 安西县| 巴塘县| 双辽市| 隆化县| 乌审旗| 神木县| 拉萨市| 沙田区| 邯郸市| 蒙阴县| 云南省| 玉溪市| 秦安县| 封丘县| 宜兰市| 莫力| 台南市| 彭州市| 利津县| 拜泉县| 四子王旗| 温州市| 女性| 元阳县| 惠州市| 尼木县| 肇庆市| 湖口县| 红桥区| 仁怀市| 抚松县| 泸西县|