Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Duplicate Java's PBEWithMD5AndDESDemonstrate's how to duplicate Java's PBEWithMD5AndDES.
<?php $crypt = new COM("Chilkat.Crypt2"); $success = $crypt->UnlockComponent('Anything for 30-day trial'); if ($success != true) { print $crypt->lastErrorText() . "\n"; exit; } $crypt->CryptAlgorithm = 'pbes1'; $crypt->PbesPassword = 'secret'; $crypt->PbesAlgorithm = 'des'; $crypt->KeyLength = 64; // The salt for PBKDF1 is always 8 bytes: $crypt->SetEncodedSalt('C773218C7EC8EE99','hex'); $crypt->IterationCount = 20; // A hash algorithm needs to be set for PBES1: $crypt->HashAlgorithm = 'md5'; // Indicate that the encrypted bytes should be returned // as a hex string: $crypt->EncodingMode = 'hex'; $plainText = 'This is another example'; $encryptedText = $crypt->encryptStringENC($plainText); // The output should be: E729548140D20B14E9140F832A7E980AA449A84B295C75CE print $encryptedText . "\n"; // Now decrypt: $decryptedText = $crypt->decryptStringENC($encryptedText); print $decryptedText . "\n"; // ---------------------------------------------------------------- // ---------------------------------------------------------------- // The code above duplicates this Java JCE example: public static void main(String args[]) throws Exception { PBEKeySpec pbeKeySpec; PBEParameterSpec pbeParamSpec; SecretKeyFactory keyFac; // Salt byte[] salt = { (byte)0xc7, (byte)0x73, (byte)0x21, (byte)0x8c, (byte)0x7e, (byte)0xc8, (byte)0xee, (byte)0x99 }; // Iteration count int count = 20; // Create PBE parameter set pbeParamSpec = new PBEParameterSpec(salt, count); String password = "secret"; pbeKeySpec = new PBEKeySpec(password.toCharArray()); keyFac = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); SecretKey pbeKey = keyFac.generateSecret(pbeKeySpec); // Create PBE Cipher Cipher pbeCipher = Cipher.getInstance("PBEWithMD5AndDES"); // Initialize PBE Cipher with key and parameters pbeCipher.init(Cipher.ENCRYPT_MODE, pbeKey, pbeParamSpec); // Our cleartext byte[] cleartext = "This is another example".getBytes(); // Encrypt the cleartext byte[] ciphertext = pbeCipher.doFinal(cleartext); System.out.print("ciphertext: "); System.out.println(toHex(ciphertext)); } ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.