Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP ActiveX Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3


 

 

 

 

 

 

 

 

RSA Encrypt and Decrypt Strings

PHP sample code to RSA public-key encrypt and decrypt strings using public and private keys.

Download 32-bit Chilkat RSA ActiveX (.msi)

Download All 32-bit Chilkat ActiveX Components (.zip)

Download All 64-bit Chilkat ActiveX Components (.zip)

<?php

$rsa = new COM("Chilkat.Rsa");

$success = $rsa->UnlockComponent('Anything for 30-day trial');
if ($success != true) {
    print 'RSA component unlock failed' . "\n";
    exit;
}

//  This example also generates the public and private
//  keys to be used in the RSA encryption.
//  Normally, you would generate a key pair once,
//  and distribute the public key to your partner.
//  Anything encrypted with the public key can be
//  decrypted with the private key.  The reverse is
//  also true: anything encrypted using the private
//  key can be decrypted using the public key.

//  Generate a 1024-bit key.  Chilkat RSA supports
//  key sizes ranging from 512 bits to 4096 bits.
$success = $rsa->GenerateKey(1024);
if ($success != true) {
    print $rsa->lastErrorText() . "\n";
    exit;
}

//  Keys are exported in XML format:
$publicKey = $rsa->exportPublicKey();
$privateKey = $rsa->exportPrivateKey();

$plainText = 'Encrypting and decrypting should be easy!';

//  Start with a new RSA object to demonstrate that all we
//  need are the keys previously exported:
$rsaEncryptor = new COM("Chilkat.Rsa");

//  Encrypted output is always binary.  In this case, we want
//  to encode the encrypted bytes in a printable string.
//  Our choices are "hex", "base64", "url", "quoted-printable".
$rsaEncryptor->EncodingMode = 'hex';

//  We'll encrypt with the public key and decrypt with the private
//  key.  It's also possible to do the reverse.
$rsaEncryptor->ImportPublicKey($publicKey);

$usePrivateKey = false;
$encryptedStr = $rsaEncryptor->encryptStringENC($plainText,$usePrivateKey);
print $encryptedStr . "\n";

//  Now decrypt:
$rsaDecryptor = new COM("Chilkat.Rsa");

$rsaDecryptor->EncodingMode = 'hex';
$rsaDecryptor->ImportPrivateKey($privateKey);

$usePrivateKey = true;
$decryptedStr = $rsaDecryptor->decryptStringENC($encryptedStr,$usePrivateKey);

print $decryptedStr . "\n";
?>

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.