中国开发网: 论坛: 程序员情感CBD: 贴子 500389
没脾气2x: 我改段你的程序吧。咯咯,发了贴以后改了好几次。
function String GetMD5( wstr: WideString )
var
md5: IdHashMessageDigest.TIdHashMessageDigest5;
utf8ForMD5: String;

strMD5: String;
begin
md5 := IdHashMessageDigest.TIdHashMessageDigest5.Create;
try

utf8ForMD5 := UTF8Encode( wstr );

strMD5 := md5.AsHex( md5.HashValue(utf8ForMD5) );
// 对 IdHash 不了解,学着你的用法用的。

Result := strMD5;

finally
md5.Free;
end;

end;


procedure TFormMain.BBtnCheckMd5Click(Sender: TObject);
var
strMD5: String;
begin
strMD5 := GetMD5( WideString( Mdata.Lines.Text ) );
// 强调一下这里是经 AnsiString 到 WideString 的转换的

if UpperCase(strMD5) <> UpperCase(Trim(Emd5.Text)) then
unitdialog.Badbox('数字签名核对失败!')
else
unitdialog.Badbox('数字签名核对一致!');
end;



// 顺便BS一下大小写没规律的

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录