Ver Mensaje Individual
  #4  
Antiguo 26-02-2023
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Reputación: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
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
    { Private declarations }
  public
    { Public declarations }
  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.
Responder Con Cita