Perl
Perl
Generate a Random 256-bit AES Key and RSA Encrypt
See more RSA Examples
Generates 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.Chilkat Perl Downloads
use chilkat();
$success = 0;
# 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.
$pubKey = chilkat::CkPublicKey->new();
# In all Chilkat methods expecting a path, you pass either absolute or relative paths.
$success = $pubKey->LoadFromFile("rsaKeys/Test2048Rsa.pem");
if ($success == 0) {
print $pubKey->lastErrorText() . "\r\n";
exit;
}
$rsa = chilkat::CkRsa->new();
# Tell RSA to use the public key.
$rsa->UsePublicKey($pubKey);
# Generate a random 256-bit AES key (32 bytes)
$bdAesKey = chilkat::CkBinData->new();
$prng = chilkat::CkPrng->new();
$prng->GenRandomBd(32,$bdAesKey);
# RSA encrypt.
$rsa->EncryptBd($bdAesKey,0);
# Save the RSA encrypted AES key to a file.
$success = $bdAesKey->WriteFile("rsaEncrypted/myAes.key");