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
112-bit 3DES EncryptionDemonstrates how to do 112-bit 3DES encryption.
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATCRYPT2Lib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var crypt: TChilkatCrypt2; success: Integer; ivHex: String; keyHex: String; encStr: String; decStr: String; begin crypt := TChilkatCrypt2.Create(Self); success := crypt.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage('Crypt component unlock failed'); Exit; end; // Specify 3DES for the encryption algorithm: crypt.CryptAlgorithm := '3des'; // CipherMode may be "ecb" or "cbc" crypt.CipherMode := 'ecb'; // Set the key length crypt.KeyLength := 112; // Choose a padding scheme... crypt.PaddingScheme := 0; // EncodingMode specifies the encoding of the output for // encryption, and the input for decryption. // It may be "hex", "url", "base64", or "quoted-printable". crypt.EncodingMode := 'hex'; // An initialization vector is required if using CBC or CFB modes. // ECB mode does not use an IV. // The length of the IV is equal to the algorithm's block size. // It is NOT equal to the length of the key. ivHex := '0001020304050607'; crypt.SetEncodedIV(ivHex,'hex'); // The secret key must equal the size of the key. // Remember, DES (i.e. 3DES) uses a parity bit in the key, // so 112-bit 3DES requires 128 bits of key material // (i.e. 16 bytes) keyHex := '11165395389c904862912aba16d315b8'; crypt.SetEncodedKey(keyHex,'hex'); // Encrypt a string... encStr := crypt.EncryptStringENC('999999987'); // The result should be: 8CDBB138C11EDC3A77F04E488B46385C ShowMessage(encStr); // Now decrypt: decStr := crypt.DecryptStringENC(encStr); ShowMessage(decStr); end; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.