delphi xe8 多线程和hash函数 base64 用法

来源:互联网 发布:网络英语统考 编辑:程序博客网 时间:2024/04/28 21:11
unit Unit1;interfaceuses  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,  System.Classes, Vcl.Graphics,Soap.EncdDecd,IdHashMessageDigest,IdSSLOpenSSL,IdSSLOpenSSLHeaders,  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Hash;type  TForm1 = class(TForm)    Button1: TButton;    Button2: TButton;    Button3: TButton;    Button4: TButton;    procedure Button1Click(Sender: TObject);    procedure Button2Click(Sender: TObject);    procedure Button3Click(Sender: TObject);    procedure Button4Click(Sender: TObject);  private    { Private declarations }  public    { Public declarations }  end;  TMD5 = class(TIdHashMessageDigest5);var  Form1: TForm1;implementation{$R *.dfm}function MyFun(p: Pointer): Integer; stdcall;var  i: Integer;begin  for i := 0 to 500 do  begin    Form1.Canvas.Lock;    Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +      ',' + IntToStr(i));    Form1.Canvas.Unlock;    Sleep(10);  end;  Result := 0;end;procedure MyPro();var  i: Integer;begin  for i := 0 to 500 do  begin    Form1.Canvas.Lock;    Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +      ',' + IntToStr(i));    Form1.Canvas.Unlock;    Sleep(10);  end;end;procedure TForm1.Button1Click(Sender: TObject);begin  ShowMessage('xxx');  MessageBox(0, 'nn', 'mmm', 0);  Application.MessageBox('xxx', 'system', 0);end;procedure TForm1.Button2Click(Sender: TObject);begin  //  TThread.CreateAnonymousThread(MyPro).Start;end;procedure TForm1.Button3Click(Sender: TObject);var  data, key: string;begin  data := 'xxx';  key := 'key';  ShowMessage(THashMD5.Create.GetHashString(data));  ShowMessage(THashMD5.Create.GetHMAC(data, key));  ShowMessage(THashSHA1.Create.GetHashString(data));  ShowMessage(THashSHA1.Create.GetHMAC(data, key));  ShowMessage(THashBobJenkins.Create.GetHashString(data));  ShowMessage(THash.GetRandomString(10));  ShowMessage(THash.DigestAsString(TEncoding.UTF8.GetBytes(data)));end;procedure TForm1.Button4Click(Sender: TObject);var  data, key: string;begin  data:='fuck';  data:=EncodeString(data) ;  ShowMessage(data);  ShowMessage(DecodeString(data));  ShowMessage(TMD5.Create.HashStringAsHex(data));end;end.

0 0
原创粉丝点击