• THashMD5,THashSHA1,THashBobJenkins,TIdHashMessageDigest5的用法


     
    1. unit Unit1;  
    2.   
    3. interface  
    4.   
    5. uses  
    6.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,  
    7.   System.Classes, Vcl.Graphics,Soap.EncdDecd,IdHashMessageDigest,IdSSLOpenSSL,IdSSLOpenSSLHeaders,  
    8.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Hash;  
    9.   
    10. type  
    11.   TForm1 = class(TForm)  
    12.     Button1: TButton;  
    13.     Button2: TButton;  
    14.     Button3: TButton;  
    15.     Button4: TButton;  
    16.     procedure Button1Click(Sender: TObject);  
    17.     procedure Button2Click(Sender: TObject);  
    18.     procedure Button3Click(Sender: TObject);  
    19.     procedure Button4Click(Sender: TObject);  
    20.   private  
    21.     { Private declarations }  
    22.   public  
    23.     { Public declarations }  
    24.   end;  
    25.   TMD5 = class(TIdHashMessageDigest5);  
    26.   
    27. var  
    28.   Form1: TForm1;  
    29.   
    30. implementation  
    31.   
    32. {$R *.dfm}  
    33.   
    34. function MyFun(p: Pointer): Integer; stdcall;  
    35. var  
    36.   i: Integer;  
    37. begin  
    38.   for i := to 500 do  
    39.   begin  
    40.     Form1.Canvas.Lock;  
    41.     Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +  
    42.       ',' + IntToStr(i));  
    43.     Form1.Canvas.Unlock;  
    44.     Sleep(10);  
    45.   end;  
    46.   
    47.   Result := 0;  
    48. end;  
    49.   
    50. procedure MyPro();  
    51. var  
    52.   i: Integer;  
    53. begin  
    54.   for i := to 500 do  
    55.   begin  
    56.     Form1.Canvas.Lock;  
    57.     Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +  
    58.       ',' + IntToStr(i));  
    59.     Form1.Canvas.Unlock;  
    60.     Sleep(10);  
    61.   end;  
    62. end;  
    63.   
    64. procedure TForm1.Button1Click(Sender: TObject);  
    65. begin  
    66.   ShowMessage('xxx');  
    67.   MessageBox(0, 'nn', 'mmm', 0);  
    68.   Application.MessageBox('xxx', 'system', 0);  
    69.   
    70. end;  
    71.   
    72. procedure TForm1.Button2Click(Sender: TObject);  
    73. begin  
    74.   //  
    75.   TThread.CreateAnonymousThread(MyPro).Start;  
    76. end;  
    77.   
    78. procedure TForm1.Button3Click(Sender: TObject);  
    79. var  
    80.   data, key: string;  
    81. begin  
    82.   data := 'xxx';  
    83.   key := 'key';  
    84.   ShowMessage(THashMD5.Create.GetHashString(data));  
    85.   ShowMessage(THashMD5.Create.GetHMAC(data, key));  
    86.   ShowMessage(THashSHA1.Create.GetHashString(data));  
    87.   ShowMessage(THashSHA1.Create.GetHMAC(data, key));  
    88.   
    89.   ShowMessage(THashBobJenkins.Create.GetHashString(data));  
    90.   
    91.   ShowMessage(THash.GetRandomString(10));  
    92.   ShowMessage(THash.DigestAsString(TEncoding.UTF8.GetBytes(data)));  
    93. end;  
    94.   
    95. procedure TForm1.Button4Click(Sender: TObject);  
    96. var  
    97.   data, key: string;  
    98. begin  
    99.   data:='fuck';  
    100.   data:=EncodeString(data) ;  
    101.   ShowMessage(data);  
    102.   ShowMessage(DecodeString(data));  
    103.   ShowMessage(TMD5.Create.HashStringAsHex(data));  
    104.   
    105.   
    106. end;  
    107.   
    108. end.  
     
     http://blog.csdn.net/earbao/article/details/46532077
  • 相关阅读:
    从头学pytorch(十二):模型保存和加载
    Python环境安装与配置
    PyCharm安装及使用
    Python包管理工具pip的基本使用
    LoadRunner安装破解
    正则表达式提取器使用
    TCPMon使用总结
    JMeter:全面的乱码解决方案
    Jmeter脚本两种录制方式
    监听器-【聚合报告】界面字段解析及计算方法概要说明
  • 原文地址:https://www.cnblogs.com/findumars/p/5338895.html
Copyright © 2020-2023  润新知