序言
上一篇的那个小的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
最新评论
这个软件有bug的,客户端windows有些键不能用如逗号、句号
没有收到邮件通知
我的评论通知貌似坏掉了,定位一下问题
测试一下重新部署后的邮件功能
居然看到自己公司的MIB库,诚惶诚恐
那可能是RobotFramework-ride的版本问题。我装的1.7.4.2,有这个限制。我有空再尝试下旧版本吧,感谢回复。
你好!我在python2.7中安装RobotFramework-ride的时候提示wxPython的版本最高是2.18.12,用pip下载的wxPython版本是4.10,而且我在那个路径下没有找到2
真的太好了,太感谢了,在bilibili和CSDN上都找遍了,终于在你这里找到了