Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
Match Java JCE AES Encryption Results (ECB mode)Shows sample code in Python that matches Java JCE encryption results for 128-bit AES encryption using ECB mode.
import sys import chilkat crypt = chilkat.CkCrypt2() # Any string argument automatically begins the 30-day trial. success = crypt.UnlockComponent("30-day trial") if (success != True): print "Crypt component unlock failed" sys.exit() password = "secretPassphrase" # Use the Digest MD5 algorithm to get a 16-byte binary secret key. crypt.put_HashAlgorithm("md5") crypt.put_EncodingMode("hex") secretKeyHex = crypt.hashStringENC(password) crypt.put_CryptAlgorithm("aes") crypt.put_CipherMode("ecb") crypt.put_KeyLength(128) crypt.SetEncodedKey(secretKeyHex,"hex") text = "The quick brown fox jumped over the lazy dog." encText = crypt.encryptStringENC(text) # Displays: # C960892077D566258D38DF4BBAE8548E6827BF8C27A9D2EE # 6F563FC75003F8F6A05B54CFD28CDC8833BD073F7FC6D031 print encText # This Java (JCE) code produces the same results: # String password = "secretPassphrase"; # # MessageDigest md = MessageDigest.getInstance("MD5"); # md.update(password.getBytes("UTF-8"), 0, password.length()); # byte[] rawKey = md.digest(); # # String text = "The quick brown fox jumped over the lazy dog."; # # SecretKeySpec skeySpec = new SecretKeySpec(rawKey, "AES"); # Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding"); # cipher.init(Cipher.ENCRYPT_MODE, skeySpec); # # 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(); # } |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.