Sample code for 30+ languages & platforms
Delphi ActiveX

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

See more Encryption Examples

How to create hashes (message digests) for strings.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
crypt: TChilkatCrypt2;
s: WideString;
hash: WideString;

begin
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

crypt := TChilkatCrypt2.Create(Self);

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

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

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

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

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

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

// Note: SHA-2 is a set of cryptographic hash functions (SHA-224, SHA-256, SHA-384, SHA-512)

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

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

// Hash using SHA-512
crypt.HashAlgorithm := 'sha512';
hash := crypt.HashStringENC(s);
Memo1.Lines.Add('SHA512: ' + 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: ' + 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:
// B89C551CDFE2E06DBD4CEA2BE1BC7D557416C58EBB4D07CBC94E49F710C55BE
end;