delphi xe2 md5
我用delphi7通过md5加密的结果和php加密之后的结果是一样的,同样的代码在xe2里面加密出来结果不一样了,代码是一样的,有没有什么人知道呢?谢谢!
[解决办法]
字符串不再是 ansistring了.
[解决办法]
放 一个 button 放3个 edit
- Delphi(Pascal) code
unit Unit1;interfaceuses 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的问题
[解决办法]
- Delphi(Pascal) code
uses IdHashMessageDigest,IdGlobal;Function Md5Encode(const Source:string):string;var MD5:TIdHashMessageDigest5;begin MD5 :=TIdHashMessageDigest5.Create; Result :=MD5.HashStringAsHex(Source); MD5.Free;end;
[解决办法]