SHA2,SHA1,MD5ハッシュ値の生成 ~Delphiソースコード集
uses System.Hash;
が必要です。
SHA256ハッシュ値を生成する
uses System.Hash;
procedure TForm1.Button1Click(Sender: TObject);
var h:THashSHA2;
b:TBytes;
begin
//SHA256ハッシュ(256Bit=32Byte)
h:=THashSHA2.Create(SHA256);
//ハッシュ値を更新
h.Update('aiueo');
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
//リセットする
h.Reset;
//ハッシュ値を更新するデータの作成
//UTF8の「かきくけこ」をバイト型配列で作成
b:=TEncoding.UTF8.GetBytes('かきくけこ');
//ハッシュ値を更新する
h.Update(b,Length(b));
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
end;
SHA1ハッシュ値を生成する
uses System.Hash;
procedure TForm1.Button2Click(Sender: TObject);
var h:THashSHA1;
b:TBytes;
begin
//SHA1ハッシュ(160Bit=20Byte)
h:=THashSHA1.Create.Create();
//ハッシュ値を更新
h.Update('aiueo');
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
//リセットする
h.Reset;
//ハッシュ値を更新するデータの作成
//SJISの「かきくけこ」をバイト型配列で作成
b:=TEncoding.ANSI.GetBytes('かきくけこ');
//ハッシュ値を更新する
h.Update(b,Length(b));
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
end;
MD5ハッシュ値を生成する
uses System.Hash;
procedure TForm1.Button3Click(Sender: TObject);
var h:THashMD5;
b:TBytes;
begin
//MD5ハッシュ(128Bit=16Byte)
h:=THashMD5.Create();
//ハッシュ値を更新
h.Update('aiueo');
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
//リセットする
h.Reset;
//ハッシュ値を更新するデータの作成
//UTF16LEの「かきくけこ」をバイト型配列で作成
b:=TEncoding.Unicode.GetBytes('かきくけこ');
//ハッシュ値を更新する
h.Update(b,Length(b));
//ハッシュ値を文字列として表示する
Memo1.Lines.Add(h.HashAsString);
end;