首页 > 解决方案 > 来自字符串的 Delphi Hash - 小菜一碟?

问题描述

我猜从字符串生成哈希应该是小菜一碟,但这不起作用。它说未声明的标识符:'GetHashString'。我在这里错过了什么吗?

unit HashCreator;

interface
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Hash;

type
  TForm2 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
 Memo2.Text := GetHashString(Memo1.Text,SHA256);
end;
end.

标签: stringdelphihash

解决方案


毕竟这似乎是小菜一碟。感谢您的建议。以下代码似乎在 Delphi 10.3 中运行良好。社区版。

unit HashCreator;

interface

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

type
  TForm2 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
   private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
Memo2.Text := THashSHA2.GetHashString(Memo1.Text, SHA256);
end;

 end.

推荐阅读