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


 

 

 

 

 

 

 

 

File Encryption / Decryption

File-to-file encryption in PHP using AES, Blowfish, RC2, ARC4, or 3DES.

Download Chilkat Crypt ActiveX

<?php

$crypt = new COM("Chilkat.Crypt2");

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

$crypt->CryptAlgorithm = 'aes';
$crypt->CipherMode = 'cbc';
$crypt->KeyLength = 128;

//  16 bytes of key for 128-bit encryption.
$key = '1234567890123456';

//  The IV is equal to the block size of the encryption algorithm.

$iv = '1234567890123456';

//  Set the key.
$crypt->SetEncodedKey($key,'ascii');

//  Set the IV
$crypt->SetEncodedIV($iv,'ascii');

//  AES Encrypt the file (the file may be any size because it will
//  stream the file in/out.
$success = $crypt->CkEncryptFile('hamlet.xml','aesEncrypted.dat');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  AES Decrypt the file (the file may be any size because it will
//  stream the file in/out.
$success = $crypt->CkDecryptFile('aesEncrypted.dat','hamlet_aes.xml');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

print 'AES File Encryption Success.' . "\n";

//  Now do 3DES file encryption:

//  To use Triple-DES, set the algorithm = "des",
//  and the key length = 168.
//  To use DES, set the key length = 56 bits.
$crypt->CryptAlgorithm = 'des';
$crypt->CipherMode = 'cbc';
$crypt->KeyLength = 168;

//  3DES Encrypt the file
$success = $crypt->CkEncryptFile('hamlet.xml','tripleDesEncrypted.dat');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  3DES Decrypt the file
$success = $crypt->CkDecryptFile('tripleDesEncrypted.dat','hamlet_3des.xml');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

print '3DES File Encryption Success.' . "\n";

//  Do Blowfish file encryption:

//  To use Blowfish, set the algorithm = "blowfish2".
//  The original Chilkat "blowfish" implementation outputs
//  4321 swapped bytes.  "blowfish2" output is in the correct
//  byte order.
$crypt->CryptAlgorithm = 'blowfish2';
$crypt->CipherMode = 'cbc';
$crypt->KeyLength = 128;

//  Blowfish Encrypt the file
$success = $crypt->CkEncryptFile('hamlet.xml','blowfishEncrypted.dat');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  Blowfish Decrypt the file
$success = $crypt->CkDecryptFile('blowfishEncrypted.dat','hamlet_blowfish.xml');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

print 'Blowfish File Encryption Success.' . "\n";

//  Do RC2 file encryption:

//  To use RC2, set the algorithm = "rc2".
//  Also, set the Rc2EffectiveKeyLength property.
$crypt->CryptAlgorithm = 'rc2';
$crypt->CipherMode = 'cbc';
//  Key length and effective key length should range
//  from 8 to 1024 bits.
$crypt->KeyLength = 128;
$crypt->Rc2EffectiveKeyLength = 128;

//  RC2 Encrypt the file
$success = $crypt->CkEncryptFile('hamlet.xml','rc2Encrypted.dat');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  RC2 Decrypt the file
$success = $crypt->CkDecryptFile('rc2Encrypted.dat','hamlet_rc2.xml');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

print 'RC2 File Encryption Success.' . "\n";

//  Do ARC4 file encryption:

//  To use ARC4, set the algorithm = "arc4".
$crypt->CryptAlgorithm = 'arc4';
$crypt->KeyLength = 128;

//  ARC4 Encrypt the file
$success = $crypt->CkEncryptFile('hamlet.xml','arc4Encrypted.dat');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

//  ARC4 Decrypt the file
$success = $crypt->CkDecryptFile('arc4Encrypted.dat','hamlet_arc4.xml');
if ($success != true) {
    print $crypt->lastErrorText() . "\n";
    exit;
}

print 'ARC4 File Encryption Success.' . "\n";
?>

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

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