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
Duplicate Java's PBEWithMD5AndDESDemonstrate's how to duplicate Java's PBEWithMD5AndDES.
Dim crypt As New ChilkatCrypt2 Dim success As Long success = crypt.UnlockComponent("Anything for 30-day trial") If (success <> 1) Then MsgBox crypt.LastErrorText Exit Sub End If 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" Dim plainText As String plainText = "This is another example" Dim encryptedText As String encryptedText = crypt.EncryptStringENC(plainText) ' The output should be: E729548140D20B14E9140F832A7E980AA449A84B295C75CE Text1.Text = Text1.Text & encryptedText & vbCrLf ' Now decrypt: Dim decryptedText As String decryptedText = crypt.DecryptStringENC(encryptedText) Text1.Text = Text1.Text & decryptedText & vbCrLf ' ---------------------------------------------------------------- ' ---------------------------------------------------------------- ' 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)); } |
© 2000-2012 Chilkat Software, Inc. All Rights Reserved.