www.pudn.com > QQ2005Pwd.rar > frmMD5Test.frm


VERSION 5.00 
Begin VB.Form frmMD5Test  
   Caption         =   "MD5速度测试" 
   ClientHeight    =   1890 
   ClientLeft      =   60 
   ClientTop       =   345 
   ClientWidth     =   9810 
   LinkTopic       =   "Form1" 
   MaxButton       =   0   'False 
   ScaleHeight     =   1890 
   ScaleWidth      =   9810 
   StartUpPosition =   1  '所有者中心 
   Begin VB.TextBox txtTimeConsuming  
      Appearance      =   0  'Flat 
      BackColor       =   &H00C0C0C0& 
      Height          =   300 
      Index           =   1 
      Left            =   8400 
      Locked          =   -1  'True 
      TabIndex        =   13 
      Top             =   1005 
      Width           =   1230 
   End 
   Begin VB.TextBox txtTimeConsuming  
      Appearance      =   0  'Flat 
      BackColor       =   &H00C0C0C0& 
      Height          =   300 
      Index           =   0 
      Left            =   8400 
      Locked          =   -1  'True 
      TabIndex        =   11 
      Top             =   660 
      Width           =   1230 
   End 
   Begin VB.TextBox txtCalHash  
      Appearance      =   0  'Flat 
      BackColor       =   &H00C0C0C0& 
      Height          =   300 
      Index           =   1 
      Left            =   4275 
      Locked          =   -1  'True 
      TabIndex        =   8 
      Top             =   1005 
      Width           =   3525 
   End 
   Begin VB.CommandButton Command1  
      Caption         =   "开始计算" 
      Height          =   405 
      Left            =   180 
      TabIndex        =   6 
      Top             =   1230 
      Width           =   1680 
   End 
   Begin VB.TextBox txtAST  
      Appearance      =   0  'Flat 
      BackColor       =   &H00E0E0E0& 
      Height          =   285 
      Left            =   1110 
      TabIndex        =   2 
      Text            =   "5000" 
      Top             =   675 
      Width           =   1710 
   End 
   Begin VB.TextBox txtEWH  
      Appearance      =   0  'Flat 
      BackColor       =   &H00E0E0E0& 
      Height          =   300 
      Left            =   1110 
      TabIndex        =   1 
      Text            =   "@@----------------------------密码也可以包含中文----------------------------@@" 
      Top             =   255 
      Width           =   8520 
   End 
   Begin VB.TextBox txtCalHash  
      Appearance      =   0  'Flat 
      BackColor       =   &H00C0C0C0& 
      Height          =   300 
      Index           =   0 
      Left            =   4275 
      Locked          =   -1  'True 
      TabIndex        =   0 
      Top             =   660 
      Width           =   3525 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "耗时:" 
      Height          =   180 
      Index           =   4 
      Left            =   7920 
      TabIndex        =   12 
      Top             =   1065 
      Width           =   540 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "耗时:" 
      Height          =   180 
      Index           =   3 
      Left            =   7920 
      TabIndex        =   10 
      Top             =   720 
      Width           =   540 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "ASM计算Hash:" 
      Height          =   180 
      Index           =   2 
      Left            =   3105 
      TabIndex        =   9 
      Top             =   1065 
      Width           =   1170 
   End 
   Begin VB.Label Label2  
      Alignment       =   1  'Right Justify 
      Appearance      =   0  'Flat 
      AutoSize        =   -1  'True 
      BackColor       =   &H80000005& 
      Caption         =   "计算结果对比:" 
      ForeColor       =   &H000000FF& 
      Height          =   180 
      Left            =   8370 
      TabIndex        =   7 
      Top             =   1575 
      Width           =   1260 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "登录口令:" 
      Height          =   180 
      Index           =   0 
      Left            =   105 
      TabIndex        =   5 
      Top             =   315 
      Width           =   900 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "循环次数:" 
      Height          =   180 
      Index           =   1 
      Left            =   105 
      TabIndex        =   4 
      Top             =   720 
      Width           =   900 
   End 
   Begin VB.Label Label1  
      AutoSize        =   -1  'True 
      Caption         =   "VB 计算Hash:" 
      Height          =   180 
      Index           =   5 
      Left            =   3105 
      TabIndex        =   3 
      Top             =   720 
      Width           =   1170 
   End 
End 
Attribute VB_Name = "frmMD5Test" 
Attribute VB_GlobalNameSpace = False 
Attribute VB_Creatable = False 
Attribute VB_PredeclaredId = True 
Attribute VB_Exposed = False 
'=========================================================================== 
'     Code Name:       MD5的汇编与VB代码计算速度及结果比较程序 
'     First Built:     2005-03-05 
'     Last Modify:     2005-03-06 
'     Author:          赵斌(Binny) 
'     Copyright:       Binny,转载请保留本声明 
'=========================================================================== 
 
Private Sub Command1_Click() 
  '先使用VB计算 
  '再先使用汇编计算 
  '计算过程中,程序没反应请耐心等待 
  Dim k As Long 
  Dim m As Long 
  Dim lAST As Long 
  Screen.MousePointer = vbHourglass 
  Label2 = "正在计算,请等待……" 
  For k = 0 To 1 
    lStart = GetTickCount 
    lAST = Val(txtAST) 
    If k = 0 Then 
      txtCalHash(k).Text = INNER_GetQQHash(txtEWH.Text, lAST, True) 
      txtTimeConsuming(k) = (GetTickCount - lStart) & " 毫秒" 
    Else 
      For m = 1 To 100 '由于汇编计算的速度太TM快,因此,我加了100倍的数据量,反过来,我在最终的结果上乘100倍 
        txtCalHash(k).Text = INNER_GetQQHash(txtEWH.Text, lAST, False) 
      Next m 
      txtTimeConsuming(k) = Round((GetTickCount - lStart) / 100, 4) & " 毫秒" 
    End If 
  Next k 
  If Val(txtTimeConsuming(1)) > 0.01 Then 
    Label2 = "计算结果对比:" & Round(Val(txtTimeConsuming(0)) / Val(txtTimeConsuming(1)), 2) & "倍" 
  Else 
    Label2 = "计算结果对比:太快,无法对比!" 
  End If 
  Screen.MousePointer = 0 
End Sub 
 
Private Sub Form_Load() 
  Label2 = "为了得到准确的对比,计算过程中请闭上眼睛休息" 
End Sub