Perl Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML Conversion
HTTP
IMAP
MHT
MIME
POP3
RSA
S/MIME
Signatures
SMTP
Socket / SSL
Spider
SFTP
SSH Key
SSH
SSH Tunnel
Tar
HTTP Upload
XML
XMP
Zip

More Examples...
String
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

ASCII / ANSI Secret Key in Symmetric Encryption

Using an ASCII (or ANSI) secret key w/ symmetric encryption: AES, Blowfish, Twofish, RC2, 3DES, etc.

 Chilkat Perl Module Downloads for Windows, Linux, and MAC OS X

use chilkat();

$crypt = new chilkat::CkCrypt2();

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

#  A frequent support question goes something like this:
#  ------------------
#  I am not able to decrypt strings encrypted using
#  cryptix.jce.provider.key.RawSecretKey (Java) like I would normally do.

# The key generation is being done with the Rijndael algorithm (256-bit)
#  The AES encryption algorithm is "Rijndael/ECB/PKCS#5"

#  The 32 character source key I'm using is this:
#  1234567890123456789012345678912
# 
#  ------------------
#  The customer tries to call GenerateSecretKey to
#  convert the 32-character source key to a binary secret key,
#  but this is incorrect (in this case).  GenerateSecretKey
#  hashes a string of any length and produces binary hash output
#  that is of the appropriate size to be used as a secret key.

#  The telltale sign is that in this case, the string is the exact
#  length of the secret key.  32 ANSI characters = 256 bits.
#  Therefore, it is obvious that the bytes of the binary
#  secret key should be the exact ascii character values
#  of the string.

$encKey = "1234567890123456789012345678912";

$crypt->put_CryptAlgorithm("aes");
#  Mode is "ecb" or "cbc"
$crypt->put_CipherMode("ecb");
$crypt->put_KeyLength(256);

#  Call SetEncodedKey with "ascii" to tell the component
#  to use the ascii-bytes as the binary secret key.
#  Make sure you call this after setting the KeyLength.
$crypt->SetEncodedKey($encKey,"ascii");

$crypt->put_EncodingMode("base64");
$text = "The quick brown fox jumped over the lazy dog.";

#  Encrypt a string and return the binary encrypted data
#  in a base-64 encoded string.
$encText = $crypt->encryptStringENC($text);

print $encText . "\r\n";

#  Decrypt and show the original string:
$decryptedText = $crypt->decryptStringENC($encText);

print $decryptedText . "\r\n";
 

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