深圳全飞鸿
标题:
md5的速度比较
[打印本页]
作者:
zhgc
时间:
2022-7-19 23:46
标题:
md5的速度比较
前提: 要求至少算出来的结果和mysql及php里的md5函数计算结果要一至
灰鸽子的md5算法计算字符串
var
tmp:string;
td:dword;
i,j:integer;
begin
td:=gettickcount;
i:=0;
while(i<10000)do
begin
tmp:=StrMD5('http://www.nagomes.com/disc');
i:=i+1;
end;
td:=gettickcount-td;
memo1.Lines.Add(tmp+' '+inttostr(td)+'s');
end;
复制代码
10000次的时间是 250s
indy的md5算法计算字符串
var
tmp:string;
td:dword;
i,j:integer;
begin
td:=gettickcount;
i:=0;
while(i<10000)do
begin
tmp:=StrToMD5('http://www.nagomes.com/disc');
i:=i+1;
end;
td:=gettickcount-td;
memo1.Lines.Add(tmp+' '+inttostr(td)+'s');
end;
复制代码
10000次的时间是47s
灰鸽子的md5算法计算文件
var
tmp:string;
td:dword;
i,j:integer;
filesen:TMemoryStream;
begin
i:=0;
filesen:=TMemoryStream.Create;
filesen.LoadFromFile('D:\project.syant\0005PHP\htdocs\rub\smo.database.php');
td:=gettickcount;
while(i<1000)do
begin
tmp:=GetMD5(filesen.Memory,filesen.Size);
i:=i+1;
end;
td:=gettickcount-td;
filesen.Free;
memo1.Lines.Add(tmp+' '+inttostr(td)+'s');
end;
复制代码
1000次的时间是266s
indy的md5算法计算字符串
var
tmp:string;
td:dword;
filesen:TMemoryStream;
i,j:integer;
begin
i:=0;
filesen:=TMemoryStream.Create;
filesen.LoadFromFile('D:\project.syant\0005PHP\htdocs\rub\smo.database.php');
td:=gettickcount;
while(i<1000)do
begin
filesen.Position:=0;
tmp:=StreamToMD5(filesen);
i:=i+1;
end;
td:=gettickcount-td;
filesen.Free;
memo1.Lines.Add(tmp+' '+inttostr(td)+'s');
end;
复制代码
1000次的时间是 407s
作者:
zhgc
时间:
2022-7-19 23:48
结论好象是: indy方法计算字符串的速度快, hgz计算文件快!
作者:
zhgc
时间:
2022-7-28 01:04
php的md5
var_dump(md5_file('smo.database.php'));
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/)
Powered by Discuz! X3.2