Este código utiliza la clase TIdHashSHA256 de la librería Indy para calcular el hash SHA256. El método HashStringAsHex se utiliza para obtener el hash en formato hexadecimal. El cifrado se realiza en el Button1Click y el descifrado en el Button2Click. En ambos casos, se crea una instancia de TIdHashSHA256, se llama al método correspondiente y se libera la memoria al final.
Código Delphi
[-]unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, IdHashSHA;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Button1: TButton;
Label2: TLabel;
Edit2: TEdit;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
HashSHA256: TIdHashSHA256;
begin
HashSHA256 := TIdHashSHA256.Create;
try
Edit2.Text := HashSHA256.HashStringAsHex(Edit1.Text);
finally
HashSHA256.Free;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
HashSHA256: TIdHashSHA256;
begin
HashSHA256 := TIdHashSHA256.Create;
try
Edit1.Text := HashSHA256.HashStringAsHex(Edit2.Text);
finally
HashSHA256.Free;
end;
end;
end.