THashMD5,THashSHA1,THashBobJenkins,TIdHashMessageDigest5的用法
[delphi] view plain copy
- unit Unit1;
- interface
- uses
- 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.
THashMD5,THashSHA1,THashBobJenkins,TIdHashMessageDigest5的用法的更多相关文章
- EditText 基本用法
title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...
- jquery插件的用法之cookie 插件
一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...
- Java中的Socket的用法
Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...
- [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法
一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
- 【JavaScript】innerHTML、innerText和outerHTML的用法区别
用法: <div id="test"> <span style="color:red">test1</span> tes ...
- chattr用法
[root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...
- 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)
vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...
随机推荐
- 基于visual Studio2013解决C语言竞赛题之0907删除记录
题目
- J2EE基础篇——十三个规范
背景: 1.企业级应用框架的需求,在很多企业级应用中.比如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题 ...
- traceroute工作原理
traceroute, 也就是 trace route,跟踪路由.这个程序最早是Van Jacobson实现的.源代码在网上能够找到,只是我还没有去找.基本的原理是IP路由过程中对数据包TTL(T ...
- itextSharp 使用模板(PdfTemplate)不规则分栏(ColumnText)
public static void Main() { Document document = new Document(); BaseFont bf = BaseFont.createFont(Ba ...
- 查询mysql哪些表正在被锁状态
1.查进程,主要是查找被锁表的那个进程的ID SHOW PROCESSLIST; 2.kill掉锁表的进程ID KILL 10866;//后面的数字即时进程的ID
- 【HTTP】Fiddler(二) - 使用Fiddler做抓包分析
上文( http://blog.csdn.net/ohmygirl/article/details/17846199 )中已经介绍了Fiddler的原理和软件界面.本文主要针对Fiddler的抓包处理 ...
- SharePoint 2013的100个新功能之搜索(二)
一:名称建议 人员搜索中新的“名称建议”功能,微软引入了一种简单.直观的方式来根据名称找到用户.输入一个或多个字符,查看全部以其开头的名称,在所有的用户描述数据库都可用,在人员索引中也因此一样可用.该 ...
- UIViewController加载过程
UIViewController是视图和数据的桥梁,UIViewController是所有controller的基类,ios内置了很多试图控制器,如导航控制器,tableViewController等 ...
- 一起C语言中程序时序问题的排查过程
[文章摘要] 对于由多个模块协同工作的软件来说,程序处理的时序是很重要的.当消息处理的顺序出现混乱时,程序就会出现异常. 本文基于作者的实际项目经验.对软件模块之间的时序问题进行了具体的分析,为相关软 ...
- jQuery Easy UI Resizable(调整大小)组件
Resizable(调整大小)组件,easyui基础组件之中的一个.调整大小就是能够对元素能够拖着调整大小,这个组件不依赖于其它组件,使用比較简单,相关的属性.事件都 在样例中介绍了. 演示样例: & ...