[delphi] view plain copy

  1. unit Unit1;
  2. interface
  3. uses
  4. Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  5. System.Classes, Vcl.Graphics,Soap.EncdDecd,IdHashMessageDigest,IdSSLOpenSSL,IdSSLOpenSSLHeaders,
  6. Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, System.Hash;
  7. type
  8. TForm1 = class(TForm)
  9. Button1: TButton;
  10. Button2: TButton;
  11. Button3: TButton;
  12. Button4: TButton;
  13. procedure Button1Click(Sender: TObject);
  14. procedure Button2Click(Sender: TObject);
  15. procedure Button3Click(Sender: TObject);
  16. procedure Button4Click(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22. TMD5 = class(TIdHashMessageDigest5);
  23. var
  24. Form1: TForm1;
  25. implementation
  26. {$R *.dfm}
  27. function MyFun(p: Pointer): Integer; stdcall;
  28. var
  29. i: Integer;
  30. begin
  31. for i := 0 to 500 do
  32. begin
  33. Form1.Canvas.Lock;
  34. Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +
  35. ',' + IntToStr(i));
  36. Form1.Canvas.Unlock;
  37. Sleep(10);
  38. end;
  39. Result := 0;
  40. end;
  41. procedure MyPro();
  42. var
  43. i: Integer;
  44. begin
  45. for i := 0 to 500 do
  46. begin
  47. Form1.Canvas.Lock;
  48. Form1.Canvas.TextOut(10, 10, 'threadid=' + IntToStr(GetCurrentThreadId()) +
  49. ',' + IntToStr(i));
  50. Form1.Canvas.Unlock;
  51. Sleep(10);
  52. end;
  53. end;
  54. procedure TForm1.Button1Click(Sender: TObject);
  55. begin
  56. ShowMessage('xxx');
  57. MessageBox(0, 'nn', 'mmm', 0);
  58. Application.MessageBox('xxx', 'system', 0);
  59. end;
  60. procedure TForm1.Button2Click(Sender: TObject);
  61. begin
  62. //
  63. TThread.CreateAnonymousThread(MyPro).Start;
  64. end;
  65. procedure TForm1.Button3Click(Sender: TObject);
  66. var
  67. data, key: string;
  68. begin
  69. data := 'xxx';
  70. key := 'key';
  71. ShowMessage(THashMD5.Create.GetHashString(data));
  72. ShowMessage(THashMD5.Create.GetHMAC(data, key));
  73. ShowMessage(THashSHA1.Create.GetHashString(data));
  74. ShowMessage(THashSHA1.Create.GetHMAC(data, key));
  75. ShowMessage(THashBobJenkins.Create.GetHashString(data));
  76. ShowMessage(THash.GetRandomString(10));
  77. ShowMessage(THash.DigestAsString(TEncoding.UTF8.GetBytes(data)));
  78. end;
  79. procedure TForm1.Button4Click(Sender: TObject);
  80. var
  81. data, key: string;
  82. begin
  83. data:='fuck';
  84. data:=EncodeString(data) ;
  85. ShowMessage(data);
  86. ShowMessage(DecodeString(data));
  87. ShowMessage(TMD5.Create.HashStringAsHex(data));
  88. end;
  89. end.
 
 http://blog.csdn.net/earbao/article/details/46532077

THashMD5,THashSHA1,THashBobJenkins,TIdHashMessageDigest5的用法的更多相关文章

  1. EditText 基本用法

    title: EditText 基本用法 tags: EditText,编辑框,输入框 --- EditText介绍: EditText 在开发中也是经常用到的控件,也是一个比较必要的组件,可以说它是 ...

  2. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  3. Java中的Socket的用法

                                   Java中的Socket的用法 Java中的Socket分为普通的Socket和NioSocket. 普通Socket的用法 Java中的 ...

  4. [转载]C#中MessageBox.Show用法以及VB.NET中MsgBox用法

    一.C#中MessageBox.Show用法 MessageBox.Show (String) 显示具有指定文本的消息框. 由 .NET Compact Framework 支持. MessageBo ...

  5. python enumerate 用法

    A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...

  6. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

  7. 【JavaScript】innerHTML、innerText和outerHTML的用法区别

    用法: <div id="test">   <span style="color:red">test1</span> tes ...

  8. chattr用法

    [root@localhost tmp]# umask 0022 一.chattr用法 1.创建空文件attrtest,然后删除,提示无法删除,因为有隐藏文件 [root@localhost tmp] ...

  9. 萌新笔记——vim命令“=”、“d”、“y”的用法(结合光标移动命令,一些场合会非常方便)

    vim有许多命令,网上搜有一堆贴子.文章列举出各种功能的命令. 对于"="."d"."y",我在无意中发现了它们所具有的相同的一些用法,先举 ...

随机推荐

  1. UVALive 6584 Escape (Regionals 2013 >> Europe - Central)

    题目 给出一棵树,每个节点有一个怪物或血药,遇到怪物必须打,打完后扣掉一定的血量. 一开始英雄的血量为\(0\),当血量小于\(0\)时就挂了. 给出英雄的起点和终点,问能否成功到达终点. 算法 这题 ...

  2. ADO.NET 2SqlDataAdapter、DataSet 的基本用法

    数据集完全独立于数据源,可以与数据源链接或者完全断开,其基本作用是为存储在内存缓存中的的数据提供关系视图 如果只是想读取和显示数据,则值需要使用数据读取器,尤其是处理大量数据的时候 如果需要处理数据, ...

  3. 你真的知道为什么不推荐使用@import?

    Difference between @import and link in CSS Use of @import <style type="text/css">@im ...

  4. python手记(27)

    #!/usr/bin/env python #-*- coding: utf-8 -*- import cv2 import numpy as np fn="test2.jpg" ...

  5. 在SharePoint 2013 中使用文档库Scheduling (计划公布功能)

    本文讲述在SharePoint2013 中使用文档库Scheduling (计划公布功能)的步骤和注意的事项. 文档库Scheduling (计划公布功能) 用于设定当文档通过审批后特定的时间区间内才 ...

  6. N使用exus2打造企业maven仓库(三)

    假设项目中,我没有使用maven,我应该做出选择,或为项目.或者用它来推动这个项目从maven.有人会问,为什么maven?无需maven我们没有很好的操作. 这里,只说两件事情我最欣赏:第一点是管理 ...

  7. Android ble 蓝牙4.0 总结

    本文介绍Android ble 蓝牙4.0,也就是说API level >= 18,且支持蓝牙4.0的手机才可以使用,如果手机系统版本API level < 18,也是用不了蓝牙4.0的哦 ...

  8. 基于unity3d和leap motion的拼图游戏

    近期用unity3d引擎做了一个拼图游戏,会分几次写完,以此作为总结. 本文基本查找了网上能查到的全部资料作为參考.也算是大家节省了时间. 眼下仅仅完毕了拼图部分,leap motion手势控制部分会 ...

  9. [置顶] ARM-Linux下WEB服务器Boa的移植、配置和运行测试

    Linux下使用的轻量级WEB服务器主要有:lighttpd.thttpd.shttpd和boa等等,而Boa是使用最为广泛的轻量级WEB服务器之一(当然,阿帕奇是世界使用排名第一的Web服务器软件) ...

  10. hadoop拷贝文件时 org.apache.hadoop.ipc.RemoteException异常的解决

    1.系统或hdfs是否有空间 2.datanode数是否正常 3.是否在safemode 4.防火墙关闭 5.配置方面 6.把NameNode的tmp文件清空,然后重新格式化NameNode