Delphi Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

Delphi Examples

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

More Examples...
Byte Array
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate

Unreleased...
Bzip2
LZW
Icon

Type Conversion

 

Article: Understanding COM References in Delphi

Hash Algorithms: SHA-1, HAVAL, MD2, MD5, SHA-256, SHA-384, SHA-512

Download Chilkat Crypt ActiveX

How to create hashes (message digests) for strings.

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

...

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

begin
crypt := TChilkatCrypt2.Create(Self);

//  Any string argument automatically begins the 30-day trial.
success := crypt.UnlockComponent('30-day trial');
if (success <> 1) then
  begin
    ShowMessage('Crypt component unlock failed');

  end;

s := 'The quick brown fox jumps over the lazy dog';

crypt.HashAlgorithm := 'sha1';
crypt.EncodingMode := 'hex';

//  Other possible EncodingMode settings are:
//  "quoted-printable", "base64", and "url"

hash := crypt.HashStringENC(s);
Memo1.Lines.Add('SHA1:');
Memo1.Lines.Add(hash);

//  Hash using MD2
crypt.HashAlgorithm := 'md2';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('MD2:');
Memo1.Lines.Add(hash);

//  Hash using MD5
crypt.HashAlgorithm := 'md5';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('MD5:');
Memo1.Lines.Add(hash);

//  Hash using SHA-256
crypt.HashAlgorithm := 'sha256';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('SHA256:');
Memo1.Lines.Add(hash);

//  Hash using SHA-384
crypt.HashAlgorithm := 'sha384';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('SHA384:');
Memo1.Lines.Add(hash);

//  Hash using SHA-512
crypt.HashAlgorithm := 'sha512';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('SHA512:');
Memo1.Lines.Add(hash);

//  Hash using HAVAL
//  There are two additional properties relevant to HAVAL:
//  HavalRounds, and KeyLength.
//  HavalRounds can have values of 3, 4, or 5.
//  KeyLength can have values of 128, 160, 192, 224, or 256
crypt.HashAlgorithm := 'haval';
crypt.HavalRounds := 5;
crypt.KeyLength := 256;
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('Haval:');
Memo1.Lines.Add(hash);

//  Hashes for "The quick brown fox jumps over the lazy dog"

//  SHA1:
//  2FD4E1C67A2D28FCED849EE1BB76E7391B93EB12

//  MD2:
//  03D85A0D629D2C442E987525319FC471

//  MD5:
//  9E107D9D372BB6826BD81D3542A419D6

//  SHA256:
//  D7A8FBB307D7809469CA9ABCB0082E4F8D5651E46D3CDB762D02D0BF37C9E592

//  SHA384:
//  CA737F1014A48F4C0B6DD43CB177B0AFD9E5169367544C494011E3317DBF9A509CB1E5DC1E85A941BBEE3D7F2AFBC9B1

//  SHA512:
//  07E547D9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB642E93A252A954F23912547D1E8A3B5ED6E1BFD7097821233FA0538F3DB854FEE6

//  Haval:
//  B89C551CDFE2E06DBD4CEA2BE1BC7D557416C58EBB4D07CBC94E49F710C55BE4

end;

 

Need a specific example? Send a request to support@chilkatsoft.com

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

Mail Component · .NET Email Component · XML Parser