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
(Objective-C) Generate a Random 256-bit AES Key and RSA EncryptSee more RSA ExamplesGenerates a random 256-bit AES key and encrypts using an RSA public key. Only the owner of the RSA private key will be able to decrypt the AES key.
#import <CkoPublicKey.h> #import <CkoRsa.h> #import <CkoBinData.h> #import <CkoPrng.h> // The RSA public key is used for encryption, and the private key for decryption. // The public key's role is to make encryption accessible to anyone while ensuring that // only the private key holder can decrypt the messages. // The public key is designed to be widely distributed so anyone can use it to encrypt messages // intended for the owner of the private key. // Load our 2048-bit RSA public key. CkoPublicKey *pubKey = [[CkoPublicKey alloc] init]; // In all Chilkat methods expecting a path, you pass either absolute or relative paths. BOOL success = [pubKey LoadFromFile: @"rsaKeys/Test2048Rsa.pem"]; if (success == NO) { NSLog(@"%@",pubKey.LastErrorText); return; } CkoRsa *rsa = [[CkoRsa alloc] init]; // Tell RSA to use the public key. [rsa ImportPublicKeyObj: pubKey]; // Generate a random 256-bit AES key (32 bytes) CkoBinData *bdAesKey = [[CkoBinData alloc] init]; CkoPrng *prng = [[CkoPrng alloc] init]; [prng GenRandomBd: [NSNumber numberWithInt: 32] bd: bdAesKey]; // RSA encrypt. [rsa EncryptBd: bdAesKey usePrivateKey: NO]; // Save the RSA encrypted AES key to a file. success = [bdAesKey WriteFile: @"rsaEncrypted/myAes.key"]; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.