Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
Matching .NET Framework AES Encryption ResultsAES string encryption in Ruby and the equivalent C# code using the .NET Framework. Downloads for Windows/Linux and Install Instructions require 'rubygems' require '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 = Chilkat::CkCrypt2.new() success = crypt.UnlockComponent("Anything for 30-day trial") if (success != true) print "Crypt component unlock failed" + "\n" exit end 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" |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.