Sample code for 30+ languages & platforms
C++

RSA Encrypt with Modulus and Exponent

See more RSA Examples

Demonstrates how to RSA encrypt with a given modulus and exponent.

Chilkat C++ Downloads

C++
#include <CkRsa.h>
#include <CkXml.h>
#include <CkPublicKey.h>

void ChilkatSample(void)
    {
    bool success = false;

    // This example assumes the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    CkRsa rsa;

    // Assuming you already have a base64 modulus and exponent,
    // wrap it in XML like this:
    const char *modulus = "qMBRpdYrAy5aMmo31NErUizh5sbweguSmh4wlK6uJEIDl+kwTlROnE34KOFExeTbJSX0WygPi+vWl0yNq7buIMUKpytossAAWut5khO3CQJxTk7G2gnEPNUUXHiExGgNrLzcSLv8YIlfVALhoRWyC67KOL+a+3taNq3h+BHeWhM=";
    const char *exponent = "AQAB";

    CkXml xml;
    xml.put_Tag("RSAPublicKey");
    xml.NewChild2("Modulus",modulus);
    xml.NewChild2("Exponent",exponent);

    CkPublicKey pubKey;
    success = pubKey.LoadFromString(xml);
    if (success == false) {
        std::cout << pubKey.lastErrorText() << "\r\n";
        return;
    }

    success = rsa.UsePublicKey(pubKey);
    if (success == false) {
        std::cout << rsa.lastErrorText() << "\r\n";
        return;
    }

    bool usePrivateKey = false;
    const char *plainText = "message in a bottle";

    rsa.put_EncodingMode("base64");
    const char *encryptedStrBase64 = rsa.encryptStringENC(plainText,usePrivateKey);
    std::cout << encryptedStrBase64 << "\r\n";
    }