Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
File Encryption / DecryptionFile-to-file encryption in Perl using AES, Blowfish, RC2, ARC4, or 3DES. use chilkat; $crypt = new chilkat::CkCrypt2(); $success = $crypt->UnlockComponent("Anything for 30-day trial"); if ($success != 1) { print "Crypt component unlock failed" . "\n"; exit; } $crypt->put_CryptAlgorithm("aes"); $crypt->put_CipherMode("cbc"); $crypt->put_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 != 1) { 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 != 1) { 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->put_CryptAlgorithm("des"); $crypt->put_CipherMode("cbc"); $crypt->put_KeyLength(168); # 3DES Encrypt the file $success = $crypt->CkEncryptFile("hamlet.xml","tripleDesEncrypted.dat"); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } # 3DES Decrypt the file $success = $crypt->CkDecryptFile("tripleDesEncrypted.dat","hamlet_3des.xml"); if ($success != 1) { 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->put_CryptAlgorithm("blowfish2"); $crypt->put_CipherMode("cbc"); $crypt->put_KeyLength(128); # Blowfish Encrypt the file $success = $crypt->CkEncryptFile("hamlet.xml","blowfishEncrypted.dat"); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } # Blowfish Decrypt the file $success = $crypt->CkDecryptFile("blowfishEncrypted.dat","hamlet_blowfish.xml"); if ($success != 1) { 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->put_CryptAlgorithm("rc2"); $crypt->put_CipherMode("cbc"); # Key length and effective key length should range # from 8 to 1024 bits. $crypt->put_KeyLength(128); $crypt->put_Rc2EffectiveKeyLength(128); # RC2 Encrypt the file $success = $crypt->CkEncryptFile("hamlet.xml","rc2Encrypted.dat"); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } # RC2 Decrypt the file $success = $crypt->CkDecryptFile("rc2Encrypted.dat","hamlet_rc2.xml"); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } print "RC2 File Encryption Success." . "\n"; # Do ARC4 file encryption: # To use ARC4, set the algorithm = "arc4". $crypt->put_CryptAlgorithm("arc4"); $crypt->put_KeyLength(128); # ARC4 Encrypt the file $success = $crypt->CkEncryptFile("hamlet.xml","arc4Encrypted.dat"); if ($success != 1) { print $crypt->lastErrorText() . "\n"; exit; } # ARC4 Decrypt the file $success = $crypt->CkDecryptFile("arc4Encrypted.dat","hamlet_arc4.xml"); if ($success != 1) { 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.