VB.NET Examples

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

VB.NET Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
PFX
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression
Misc

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

Byte Array
VB.NET FTPS
System.IO

 

 

 

 

 

 

Match Java JCE AES CBC Encryption Results

Download: Chilkat .NET Assemblies

Shows sample code in VB.NET that matches Java JCE encryption results for 128-bit AES encryption using CBC mode. The equivalent Java JCE code is provided as commented-out code following the VB.NET code.

Dim crypt As New Chilkat.Crypt2()

' Any string argument automatically begins the 30-day trial.
Dim success As Boolean
success = crypt.UnlockComponent("30-day trial")
If (success <> true) Then
    MsgBox("Crypt component unlock failed")
    Exit Sub
End If


Dim password As String
password = "secretPassphrase"

' Use the Digest MD5 algorithm to get a 16-byte binary secret key.
crypt.HashAlgorithm = "md5"
crypt.EncodingMode = "hex"
Dim secretKeyHex As String
secretKeyHex = crypt.HashStringENC(password)

crypt.CryptAlgorithm = "aes"
crypt.CipherMode = "cbc"
crypt.KeyLength = 128
crypt.SetEncodedKey(secretKeyHex,"hex")
crypt.SetEncodedIV(secretKeyHex,"hex")

Dim text As String
text = "Though this be madness, yet there is method in 't"
Dim encText As String
encText = crypt.EncryptStringENC(text)

' Displays:
' 79c357db030ac9ae66a84528a2f387717c5f10b48ef4385e5fe7b9227b3eeb8a
' 77f24900890e72e35758b1f79f8f78d51ebe94536c30c57fd7b2c17b927715d7

TextBox1.Text = TextBox1.Text & encText & vbCrLf
TextBox1.Refresh()

' 
' This is the equivalent code using Java JCE:
' 
' String password = "secretPassphrase";
' 
' MessageDigest md = MessageDigest.getInstance("MD5");
' md.update(password.getBytes("UTF-8"), 0, password.length());
' byte[] rawKey = md.digest();
' String text = "Though this be madness, yet there is method in 't";
' 
' SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES");
' IvParameterSpec ivSpec = new IvParameterSpec(rawKey);
' 
' Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
' cipher.init(Cipher.ENCRYPT_MODE, skeySpec, ivSpec);
' 
' byte[] encrypted = cipher.doFinal(text.getBytes("UTF-8"));
' 
' System.out.println(toHex(encrypted));


' This is the toHex method in Java:
' public static String toHex (byte buf[]) {
' 
' StringBuffer strbuf = new StringBuffer(buf.length * 2);
' int i;
' 
' for (i = 0; i < buf.length; i++) {
' if (((int) buf[i] & 0xff) < 0x10)
' strbuf.append("0");
' 
' strbuf.append(Long.toString((int) buf[i] & 0xff, 16));
' }
' 
' return strbuf.toString();
' }

 

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

Mail Component · XML Parser