Sample code for 30+ languages & platforms
Delphi DLL

Hash (Digest) a String

Hash the bytes of a string.

Chilkat Delphi DLL Downloads

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

...

procedure TForm1.Button1Click(Sender: TObject);
var
sb: HCkStringBuilder;
sha256_hex: PWideChar;
sha384_hex: PWideChar;
sha512_base64: PWideChar;
sha1_hex: PWideChar;
crc8_decimal: PWideChar;

begin
sb := CkStringBuilder_Create();

CkStringBuilder_Append(sb,'Hello World');

// Hashing algorithms (i.e. digest algorithms) operate on raw bytes.
// Therefore, we must specify the character encoding (utf-8, utf-16, iso-8859-1, etc.) to be used when hashing.

// Get the SHA256 hash in hex
sha256_hex := CkStringBuilder__getHash(sb,'sha256','hex','utf-8');
Memo1.Lines.Add('SHA256: ' + sha256_hex);

// Get the SHA384 hash in hex lowercase
sha384_hex := CkStringBuilder__getHash(sb,'sha384','hex_lower','utf-8');
Memo1.Lines.Add('SHA384: ' + sha384_hex);

// Get the SHA512 hash in base64
sha512_base64 := CkStringBuilder__getHash(sb,'sha512','base64','utf-8');
Memo1.Lines.Add('SHA512: ' + sha512_base64);

// Get the SHA1 hash in hex lowercase
sha1_hex := CkStringBuilder__getHash(sb,'sha1','hex_lower','utf-8');
Memo1.Lines.Add('SHA1: ' + sha1_hex);

// Get the CRC8 digest in decimal
crc8_decimal := CkStringBuilder__getHash(sb,'crc8','decimal','utf-8');
Memo1.Lines.Add('CRC8: ' + crc8_decimal);

CkStringBuilder_Dispose(sb);

end;