Programming Examples

ChilkatHOMEASPVisual BasicVB.NETC#CC++MFCDelphiFoxProJavaPerlPythonRubySQL ServerVBScript

PHP Examples

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


 

 

 

 

 

 

 

 

RSA Encrypt and Decrypt Strings

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

Download Chilkat RSA ActiveX

<?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-2008 Chilkat Software, Inc. All Rights Reserved.