Sample code for 30+ languages & platforms
Objective-C

RSA OAEP Padding

See more RSA Examples

Demonstrates how to use OAEP padding with the RSA encryption algorithm. More information about OAEP Padding.

Chilkat Objective-C Downloads

Objective-C
#import <CkoRsa.h>
#import <NSString.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];

// RSA public key in XML format:
NSString *pubKeyXml = @"<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>";

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

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

// To use Optimal Asymmetric Encryption Padding (OAEP) padding,
// simply set the PkcsPadding property to NO
rsa.PkcsPadding = NO;

// Encrypt a string and return the encrypted data base64-encoded:
rsa.EncodingMode = @"base64";

NSString *plainText = @"RSA Encryption should be easy.";

BOOL usePrivateKey = NO;
NSString *encryptedStr = [rsa EncryptStringENC: plainText bUsePrivateKey: usePrivateKey];
NSLog(@"%@",encryptedStr);