欢迎光临!
若无相欠,怎会相见

Delphi-获取字符串的MD5 Hash值

序言

上一篇的那个小的idea还在继续实现中,这次来获取Hash值,首先是字符串的Hash值,之后是文件的Hash值。需要一步一步的来。环境同样是Delphi XE6。

获取MD5

获取字符串的MD5 Hash值其实挺简单的,但是由于我对这门语言不是熟练级别的,在网上走了很多弯路子。首先界面很简单,Edit,Button,Label控件各一个。直接上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, {System.Hash,} IdHashMessageDigest,IdGlobal, IdHash;

type
  TForm1 = class(TForm)
    Edit_1: TEdit;
    Button_1: TButton;
    Label_1: TLabel;
    procedure Button_1Click(Sender: TObject);
    function getMd5HashString(value: string): string;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


function TForm1.getMd5HashString(value: string): string;
var
    hashMessageDigest5 : TIdHashMessageDigest5;
begin
    hashMessageDigest5 := nil;
    try
        hashMessageDigest5 := TIdHashMessageDigest5.Create;
        Result := IdGlobal.IndyLowerCase ( hashMessageDigest5.HashStringAsHex ( value ) );
    finally
        hashMessageDigest5.Free;
    end;
end;


procedure TForm1.Button_1Click(Sender: TObject);
begin
  Label_1.Caption := getMd5HashString(Edit_1.Text);
end;
end.

经测试编译后运行是正常的,结果与Python3.7进行对比,测试结果如下:

结语

本次完成了字符串的Hash计算,后面要学习一下文件的Hash计算,尽快把这个idea完善。

如有错误,敬请指出,感谢指正!  — 2020-05-31  16:20:35

赞(1) 打赏
转载请注明:飘零博客 » Delphi-获取字符串的MD5 Hash值
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

欢迎光临