Delphi ActiveX
Delphi ActiveX
Hash (Digest) a String
Hash the bytes of a string.Chilkat Delphi ActiveX Downloads
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
sb: TChilkatStringBuilder;
sha256_hex: WideString;
sha384_hex: WideString;
sha512_base64: WideString;
sha1_hex: WideString;
crc8_decimal: WideString;
begin
sb := TChilkatStringBuilder.Create(Self);
sb.Append('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 := sb.GetHash('sha256','hex','utf-8');
Memo1.Lines.Add('SHA256: ' + sha256_hex);
// Get the SHA384 hash in hex lowercase
sha384_hex := sb.GetHash('sha384','hex_lower','utf-8');
Memo1.Lines.Add('SHA384: ' + sha384_hex);
// Get the SHA512 hash in base64
sha512_base64 := sb.GetHash('sha512','base64','utf-8');
Memo1.Lines.Add('SHA512: ' + sha512_base64);
// Get the SHA1 hash in hex lowercase
sha1_hex := sb.GetHash('sha1','hex_lower','utf-8');
Memo1.Lines.Add('SHA1: ' + sha1_hex);
// Get the CRC8 digest in decimal
crc8_decimal := sb.GetHash('crc8','decimal','utf-8');
Memo1.Lines.Add('CRC8: ' + crc8_decimal);
end;