Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
File Encryption / DecryptionFile-to-file encryption in PHP using AES, Blowfish, RC2, ARC4, or 3DES.
<?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.