Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Perl Unicode
Perl Byte Array
Perl Certs
Perl Email
Perl Encryption
Perl FTP
HTML-to-XML
Perl HTTP
Perl IMAP
Perl MHT
Perl MIME
Perl RSA
Perl S/MIME
Perl Signatures
Perl Socket
Perl Spider
Perl Tar
Perl Upload
Perl XML
Perl XMP
Perl Zip

More Examples...
String
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA

Unreleased...
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

 

File Encryption / Decryption

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

Download Chilkat Perl Module

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