Sample code for 30+ languages & platforms
Delphi ActiveX

SHA256 Hash the Bytes Represented in a Hex String

Demonstrates how to compute the SHA256 hash of the bytes represented by a hexidecimal encoded string, and return the hash bytes as an hex encoded string.

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
success: Integer;
src: WideString;
bd: TChilkatBinData;
crypt: TChilkatCrypt2;
result: WideString;

begin
success := 0;

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

// We wish to compute the SHA256 hash of the bytes 0x6C 0xF8 0xEA 0x51 0xE4 0xE0 0xF5 0x99 0xCF ...
src := '6CF8EA51E4E0F599CF03EC8D58C3DCBC9C889A77FB2816B40DE25C2EC54E98A67EA517B';

bd := TChilkatBinData.Create(Self);
success := bd.AppendEncoded(src,'hex');

// The bd now contains the bytes 0x6C 0xF8 0xEA 0x51 0xE4 0xE0 0xF5 0x99 0xCF ...

crypt := TChilkatCrypt2.Create(Self);
crypt.HashAlgorithm := 'sha256';
crypt.EncodingMode := 'hex';

// Hash the bytes contained in bd, and return the 32-byte SHA256 hash as a hexidecimal encoded string.
result := crypt.HashBdENC(bd.ControlInterface);
Memo1.Lines.Add(result);
end;