delphi xe2 md5
我用delphi7通过md5加密的结果和php加密之后的结果是一样的,同样的代码在xe2里面加密出来结果不一样了,代码是一样的,有没有什么人知道呢?谢谢!
[解决办法]
字符串不再是 ansistring了.
[解决办法]
放 一个 button 放3个 edit
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs , Vcl.StdCtrls, IdHashMessageDigest,IdGlobal;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function GetMD5String(Str: String ;ADestEncoding: TIdTextEncoding = nil):String;
var
MD5: TIdHashMessageDigest5;
begin
MD5 := TIdHashMessageDigest5.Create;
try
Result := LowerCase(MD5.HashStringAsHex(Str, ADestEncoding));
finally
FreeAndNil(MD5);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit2.Text := GetMD5String(Edit1.Text,TEncoding.ANSI);
Edit3.Text := GetMD5String(Edit1.Text,TEncoding.Unicode);
end;
end.
[解决办法]
unicode的问题
[解决办法]
uses IdHashMessageDigest,IdGlobal;
Function Md5Encode(const Source:string):string;
var
MD5:TIdHashMessageDigest5;
begin
MD5 :=TIdHashMessageDigest5.Create;
Result :=MD5.HashStringAsHex(Source);
MD5.Free;
end;
[解决办法]
这函数看着是那么的熟悉,我与你是同一个QQ群的吗?