![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Unicode C) RSA Encrypt with Modulus and ExponentDemonstrates how to RSA encrypt with a given modulus and exponent. Note: This example requires Chilkat v11.0.0 or greater.
#include <C_CkRsaW.h> #include <C_CkXmlW.h> #include <C_CkPublicKeyW.h> void ChilkatSample(void) { BOOL success; HCkRsaW rsa; const wchar_t *modulus; const wchar_t *exponent; HCkXmlW xml; HCkPublicKeyW pubKey; BOOL usePrivateKey; const wchar_t *plainText; const wchar_t *encryptedStrBase64; success = FALSE; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. rsa = CkRsaW_Create(); // Assuming you already have a base64 modulus and exponent, // wrap it in XML like this: modulus = L"qMBRpdYrAy5aMmo31NErUizh5sbweguSmh4wlK6uJEIDl+kwTlROnE34KOFExeTbJSX0WygPi+vWl0yNq7buIMUKpytossAAWut5khO3CQJxTk7G2gnEPNUUXHiExGgNrLzcSLv8YIlfVALhoRWyC67KOL+a+3taNq3h+BHeWhM="; exponent = L"AQAB"; xml = CkXmlW_Create(); CkXmlW_putTag(xml,L"RSAPublicKey"); CkXmlW_NewChild2(xml,L"Modulus",modulus); CkXmlW_NewChild2(xml,L"Exponent",exponent); pubKey = CkPublicKeyW_Create(); success = CkPublicKeyW_LoadFromString(pubKey,xml); if (success == FALSE) { wprintf(L"%s\n",CkPublicKeyW_lastErrorText(pubKey)); CkRsaW_Dispose(rsa); CkXmlW_Dispose(xml); CkPublicKeyW_Dispose(pubKey); return; } success = CkRsaW_UsePublicKey(rsa,pubKey); if (success == FALSE) { wprintf(L"%s\n",CkRsaW_lastErrorText(rsa)); CkRsaW_Dispose(rsa); CkXmlW_Dispose(xml); CkPublicKeyW_Dispose(pubKey); return; } usePrivateKey = FALSE; plainText = L"message in a bottle"; CkRsaW_putEncodingMode(rsa,L"base64"); encryptedStrBase64 = CkRsaW_encryptStringENC(rsa,plainText,usePrivateKey); wprintf(L"%s\n",encryptedStrBase64); CkRsaW_Dispose(rsa); CkXmlW_Dispose(xml); CkPublicKeyW_Dispose(pubKey); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.