Perl Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Perl Examples

Quick Start
Unicode
Byte Array
Bz2
Certificates
CSV
Email
Encryption
FTP
HTML-to-XML
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
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

 

 

 

 

 

 

 

Matching .NET Framework AES Encryption Results

AES string encryption in Perl and the equivalent C# code using the .NET Framework.

Chilkat Module for Perl 5.8.*

Chilkat Module for Perl 5.10.*

Chilkat Module for Perl 5.8.* (x64)

Chilkat Module for Perl 5.10.* (x64)

use chilkat;


#  First, here's the C# code we're trying to match:

#  RijndaelManaged rman = new RijndaelManaged();
#  rman.Mode = CipherMode.CBC;
#  rman.Padding = PaddingMode.PKCS7;
#  rman.KeySize = 256;

#  Use a 32-byte key (for 256-bit encryption)
#  byte [] keyBytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
#  16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 };

#  The IV for AES is 16 bytes, because the AES block size is 16.
#  byte [] ivBytes = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 };

#  ICryptoTransform encryptor = rman.CreateEncryptor(keyBytes, ivBytes);

#  byte [] plainText = System.Text.Encoding.UTF8.GetBytes("This is a test");

#  byte [] encrypted = encryptor.TransformFinalBlock(plainText, 0, plainText.Length);

#  Output is 31k+86baFy9GJKQ9Y1ebCw==
#  textBox1.Text = Convert.ToBase64String(encrypted);

#  The following Chilkat code produces the same output:
$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(256);
$crypt->put_PaddingScheme(0);
$crypt->put_EncodingMode("base64");

$ivHex = "000102030405060708090A0B0C0D0E0F";
$keyHex = "000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F";
$crypt->SetEncodedIV($ivHex,"hex");
$crypt->SetEncodedKey($keyHex,"hex");

print $crypt->encryptStringENC("This is a test") . "\n";


 

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

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