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

File Encryption / Decryption

Download Chilkat Crypt ActiveX

File-to-file encryption in Delphi using AES, Blowfish, RC2, ARC4, or 3DES.

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls,
    CHILKATCRYPT2Lib_TLB,
    OleCtrls;

...

procedure TForm1.Button1Click(Sender: TObject);
var
crypt: TChilkatCrypt2;
success: Integer;
key: String;
iv: String;

begin
crypt := TChilkatCrypt2.Create(Self);

success := crypt.UnlockComponent('Anything for 30-day trial');
if (success <> 1) then
  begin
    ShowMessage('Crypt component unlock failed');

  end;

crypt.CryptAlgorithm := 'aes';
crypt.CipherMode := 'cbc';
crypt.KeyLength := 128;

//  16 bytes of key for 128-bit encryption.
key := '1234567890123456';

//  The IV is equal to the block size of the encryption algorithm.

iv := '1234567890123456';

//  Set the key.
crypt.SetEncodedKey(key,'ascii');

//  Set the IV
crypt.SetEncodedIV(iv,'ascii');

//  AES Encrypt the file (the file may be any size because it will
//  stream the file in/out.
success := crypt.CkEncryptFile('hamlet.xml','aesEncrypted.dat');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

//  AES Decrypt the file (the file may be any size because it will
//  stream the file in/out.
success := crypt.CkDecryptFile('aesEncrypted.dat','hamlet_aes.xml');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

ShowMessage('AES File Encryption Success.');

//  Now do 3DES file encryption:

//  To use Triple-DES, set the algorithm = "des",
//  and the key length = 168.
//  To use DES, set the key length = 56 bits.
crypt.CryptAlgorithm := 'des';
crypt.CipherMode := 'cbc';
crypt.KeyLength := 168;

//  3DES Encrypt the file
success := crypt.CkEncryptFile('hamlet.xml','tripleDesEncrypted.dat');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

//  3DES Decrypt the file
success := crypt.CkDecryptFile('tripleDesEncrypted.dat','hamlet_3des.xml');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

ShowMessage('3DES File Encryption Success.');

//  Do Blowfish file encryption:

//  To use Blowfish, set the algorithm = "blowfish2".
//  The original Chilkat "blowfish" implementation outputs
//  4321 swapped bytes.  "blowfish2" output is in the correct
//  byte order.
crypt.CryptAlgorithm := 'blowfish2';
crypt.CipherMode := 'cbc';
crypt.KeyLength := 128;

//  Blowfish Encrypt the file
success := crypt.CkEncryptFile('hamlet.xml','blowfishEncrypted.dat');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

//  Blowfish Decrypt the file
success := crypt.CkDecryptFile('blowfishEncrypted.dat','hamlet_blowfish.xml');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

ShowMessage('Blowfish File Encryption Success.');

//  Do RC2 file encryption:

//  To use RC2, set the algorithm = "rc2".
//  Also, set the Rc2EffectiveKeyLength property.
crypt.CryptAlgorithm := 'rc2';
crypt.CipherMode := 'cbc';
//  Key length and effective key length should range
//  from 8 to 1024 bits.
crypt.KeyLength := 128;
crypt.Rc2EffectiveKeyLength := 128;

//  RC2 Encrypt the file
success := crypt.CkEncryptFile('hamlet.xml','rc2Encrypted.dat');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

//  RC2 Decrypt the file
success := crypt.CkDecryptFile('rc2Encrypted.dat','hamlet_rc2.xml');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

ShowMessage('RC2 File Encryption Success.');

//  Do ARC4 file encryption:

//  To use ARC4, set the algorithm = "arc4".
crypt.CryptAlgorithm := 'arc4';
crypt.KeyLength := 128;

//  ARC4 Encrypt the file
success := crypt.CkEncryptFile('hamlet.xml','arc4Encrypted.dat');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

//  ARC4 Decrypt the file
success := crypt.CkDecryptFile('arc4Encrypted.dat','hamlet_arc4.xml');
if (success <> 1) then
  begin
    ShowMessage(crypt.LastErrorText);

  end;

ShowMessage('ARC4 File Encryption Success.');


end;

 

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.

Mail Component · .NET Email Component · XML Parser