Delphi Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

Delphi Examples

Bounced Mail
Bz2
Character Encoding
CSV
DKIM / DomainKey
Digital Certificates
Digital Signatures
DH Key Exchange
DSA
Email
Email Object
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
NTLM
POP3
RSA
S/MIME
SMTP
Socket
Spider
SFTP
SSH
SSH Key
SSH Tunnel
String
Tar
Upload
XML
XMP
Zip Compression

More Examples...
Amazon S3
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
Bzip2
LZW

Type Conversion

 

Article: Understanding COM References in Delphi

112-bit 3DES Encryption

Demonstrates how to do 112-bit 3DES encryption.

Download Chilkat Crypt ActiveX

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.

Mail Component · .NET Email Component · XML Parser