Sample code for 30+ languages & platforms
Objective-C

RSA Encrypt with Modulus and Exponent

See more RSA Examples

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

Chilkat Objective-C Downloads

Objective-C
#import <CkoRsa.h>
#import <NSString.h>
#import <CkoXml.h>
#import <CkoPublicKey.h>

BOOL success = NO;

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

CkoRsa *rsa = [[CkoRsa alloc] init];

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

CkoXml *xml = [[CkoXml alloc] init];
xml.Tag = @"RSAPublicKey";
[xml NewChild2: @"Modulus" content: modulus];
[xml NewChild2: @"Exponent" content: exponent];

CkoPublicKey *pubKey = [[CkoPublicKey alloc] init];
success = [pubKey LoadFromString: xml];
if (success == NO) {
    NSLog(@"%@",pubKey.LastErrorText);
    return;
}

success = [rsa UsePublicKey: pubKey];
if (success == NO) {
    NSLog(@"%@",rsa.LastErrorText);
    return;
}

BOOL usePrivateKey = NO;
NSString *plainText = @"message in a bottle";

rsa.EncodingMode = @"base64";
NSString *encryptedStrBase64 = [rsa EncryptStringENC: plainText bUsePrivateKey: usePrivateKey];
NSLog(@"%@",encryptedStrBase64);