|  | 
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
| (Node.js) Duplicate Java AES ResultsDemonstrates how to duplicate Java code for AES encryption. 
 var os = require('os'); if (os.platform() == 'win32') { var chilkat = require('@chilkat/ck-node23-win64'); } else if (os.platform() == 'linux') { if (os.arch() == 'arm') { var chilkat = require('@chilkat/ck-node23-linux-arm'); } else if (os.arch() == 'arm64') { var chilkat = require('@chilkat/ck-node23-linux-arm64'); } else { var chilkat = require('@chilkat/ck-node23-linux-x64'); } } else if (os.platform() == 'darwin') { var chilkat = require('@chilkat/ck-node23-mac-universal'); } function chilkatExample() { var crypt = new chilkat.Crypt2(); crypt.CryptAlgorithm = "aes"; crypt.CipherMode = "cbc"; crypt.KeyLength = 256; crypt.SetEncodedIV("000102030405060708090A0B0C0D0E0F","hex"); crypt.SetEncodedKey("uX1AytOx2bqKn1G1NiblFM3YrEMnvciC","ascii"); crypt.EncodingMode = "hex"; var encrypted = crypt.EncryptStringENC("tmpString"); console.log(encrypted); console.log(crypt.DecryptStringENC(encrypted)); // The above Chilkat code duplicates the following Java code: // import javax.crypto.Cipher; // import javax.crypto.spec.IvParameterSpec; // import javax.crypto.spec.SecretKeySpec; // // public class Test { // private static final String KEY = "uX1AytOx2bqKn1G1NiblFM3YrEMnvciC"; // private static final String IV = "000102030405060708090A0B0C0D0E0F"; // // private static final char[] HEX_ARRAY = "0123456789ABCDEF".toCharArray(); // public static String bytesToHex(byte[] bytes) { // char[] hexChars = new char[bytes.length * 2]; // for (int j = 0; j < bytes.length; j++) { // int v = bytes[j] & 0xFF; // hexChars[j * 2] = HEX_ARRAY[v >>> 4]; // hexChars[j * 2 + 1] = HEX_ARRAY[v & 0x0F]; // } // return new String(hexChars); // } // public static byte[] hexToBytes(String s) { // int len = s.length(); // byte[] data = new byte[len / 2]; // for (int i = 0; i < len; i += 2) { // data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4) // + Character.digit(s.charAt(i+1), 16)); // } // return data; // } // public static byte[] encrypt(String value) { // try { // System.out.println("---- encrypt ----"); // IvParameterSpec iv = new IvParameterSpec(hexToBytes(IV)); // SecretKeySpec skeySpec = new SecretKeySpec(KEY.getBytes("ASCII"), "AES"); // Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // cipher.init(Cipher.ENCRYPT_MODE, skeySpec, iv); // byte[] encrypted = cipher.doFinal(value.getBytes("ASCII")); // String x = bytesToHex(encrypted); // System.out.println(x); // return encrypted; // } catch (Exception ex) { // ex.printStackTrace(); // return null; // } // } // // public static String decrypt(byte[] encrypted) { // try { // System.out.println("---- decrypt ----"); // IvParameterSpec iv = new IvParameterSpec(hexToBytes(IV)); // SecretKeySpec skeySpec = new SecretKeySpec(KEY.getBytes("ASCII"), "AES"); // Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); // cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv); // byte[] original = cipher.doFinal(encrypted); // String x = new String(original); // System.out.println(x); // return x; // } catch (Exception ex) { // ex.printStackTrace(); // return null; // } // // } // // public static void main(String[] args) { // byte[] encrypted = encrypt("tmpString"); // decrypt(encrypted); // } // } // } chilkatExample(); | ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.