⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmdis.frm

📁 DES算法单机版
💻 FRM
字号:
VERSION 5.00
Begin VB.Form frmdis 
   Caption         =   "解密运算"
   ClientHeight    =   3945
   ClientLeft      =   1635
   ClientTop       =   2250
   ClientWidth     =   6690
   LinkTopic       =   "Form1"
   ScaleHeight     =   3945
   ScaleWidth      =   6690
   Begin VB.CommandButton Command2 
      BackColor       =   &H80000013&
      Caption         =   "取消"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   450
      Left            =   3240
      Style           =   1  'Graphical
      TabIndex        =   3
      Top             =   3240
      Width           =   855
   End
   Begin VB.CommandButton Command3 
      BackColor       =   &H80000013&
      Caption         =   "确定"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   9.75
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   450
      Left            =   2040
      Style           =   1  'Graphical
      TabIndex        =   2
      Top             =   3240
      Width           =   855
   End
   Begin VB.TextBox Text1 
      Height          =   375
      Left            =   1920
      TabIndex        =   1
      Top             =   1320
      Width           =   2175
   End
   Begin VB.TextBox Text2 
      Height          =   375
      Left            =   1920
      TabIndex        =   0
      Top             =   2400
      Width           =   2175
   End
   Begin VB.Label Label1 
      AutoSize        =   -1  'True
      BackStyle       =   0  'Transparent
      Caption         =   "高三十二位代码:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   285
      Left            =   2040
      TabIndex        =   5
      Top             =   840
      Width           =   2280
   End
   Begin VB.Label Label2 
      AutoSize        =   -1  'True
      BackStyle       =   0  'Transparent
      Caption         =   "低三十二位代码:"
      BeginProperty Font 
         Name            =   "宋体"
         Size            =   14.25
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   285
      Left            =   1920
      TabIndex        =   4
      Top             =   1920
      Width           =   2280
   End
End
Attribute VB_Name = "frmdis"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Private Sub Command2_Click()
Unload Me
frmmain.Show
End Sub

Private Sub Command3_Click()
Dim mingh, mingl, l0, r0 As Variant
'mingh = Val(Text1.Text)
'mingl = Val(Text2.Text)
mingh = gethh
mingl = getll
Dim hibit As Byte, lowbit As Byte
If (mingh >= 2 ^ 31) Then
    hibit = 1
    mingh = mingh - 2 ^ 31
Else
    hibit = 0
End If
If (mingl >= 2 ^ 31) Then
    lowbit = 1
    mingl = mingl - 2 ^ 31
Else
    lowbit = 0
End If
l0 = Int((mingh Mod (2 ^ 25)) / 2 ^ 24) * (2 ^ 0) + Int((mingh Mod (2 ^ 17)) / 2 ^ 16) * (2 ^ 1) _
+ Int((mingh Mod (2 ^ 9)) / 2 ^ 8) * (2 ^ 2) + Int((mingh Mod (2 ^ 1)) / 2 ^ 0) * (2 ^ 3) _
+ Int((mingl Mod (2 ^ 25)) / 2 ^ 24) * (2 ^ 4) + Int((mingl Mod (2 ^ 17)) / 2 ^ 16) * (2 ^ 5) _
+ Int((mingl Mod (2 ^ 9)) / 2 ^ 8) * (2 ^ 6) + Int((mingl Mod (2 ^ 1)) / 2 ^ 0) * (2 ^ 7) _
+ Int((mingh Mod (2 ^ 27)) / 2 ^ 26) * (2 ^ 8) + Int((mingh Mod (2 ^ 19)) / 2 ^ 18) * (2 ^ 9) _
+ Int((mingh Mod (2 ^ 11)) / 2 ^ 10) * (2 ^ 10) + Int((mingh Mod (2 ^ 3)) / 2 ^ 2) * (2 ^ 11) _
+ Int((mingl Mod (2 ^ 27)) / 2 ^ 26) * (2 ^ 12) + Int((mingl Mod (2 ^ 19)) / 2 ^ 18) * (2 ^ 13) _
+ Int((mingl Mod (2 ^ 11)) / 2 ^ 10) * (2 ^ 14) + Int((mingl Mod (2 ^ 3)) / 2 ^ 2) * (2 ^ 15) _
+ Int((mingh Mod (2 ^ 29)) / 2 ^ 28) * (2 ^ 16) + Int((mingh Mod (2 ^ 21)) / 2 ^ 20) * (2 ^ 17) _
+ Int((mingh Mod (2 ^ 13)) / 2 ^ 12) * (2 ^ 18) + Int((mingh Mod (2 ^ 5)) / 2 ^ 4) * (2 ^ 19) _
+ Int((mingl Mod (2 ^ 29)) / 2 ^ 28) * (2 ^ 20) + Int((mingl Mod (2 ^ 21)) / 2 ^ 20) * (2 ^ 21) _
+ Int((mingl Mod (2 ^ 13)) / 2 ^ 12) * (2 ^ 22) + Int((mingl Mod (2 ^ 5)) / 2 ^ 4) * (2 ^ 23) _
+ Int(mingh / 2 ^ 30) * (2 ^ 24) + Int((mingh Mod (2 ^ 23)) / 2 ^ 22) * (2 ^ 25) _
+ Int((mingh Mod (2 ^ 15)) / 2 ^ 14) * (2 ^ 26) + Int((mingh Mod (2 ^ 7)) / 2 ^ 6) * (2 ^ 27) _
+ Int(mingl / 2 ^ 30) * (2 ^ 28) + Int((mingl Mod (2 ^ 23)) / 2 ^ 22) * (2 ^ 29) _
+ Int((mingl Mod (2 ^ 15)) / 2 ^ 14) * (2 ^ 30) + Int((mingl Mod (2 ^ 7)) / 2 ^ 6) * (2 ^ 31)


r0 = Int((mingh Mod (2 ^ 26)) / 2 ^ 25) * (2 ^ 0) + Int((mingh Mod (2 ^ 18)) / 2 ^ 17) * (2 ^ 1) _
+ Int((mingh Mod (2 ^ 10)) / 2 ^ 9) * (2 ^ 2) + Int((mingh Mod (2 ^ 2)) / 2 ^ 1) * (2 ^ 3) _
+ Int((mingl Mod (2 ^ 26)) / 2 ^ 25) * (2 ^ 4) + Int((mingl Mod (2 ^ 18)) / 2 ^ 17) * (2 ^ 5) _
+ Int((mingl Mod (2 ^ 10)) / 2 ^ 9) * (2 ^ 6) + Int((mingl Mod (2 ^ 2)) / 2 ^ 1) * (2 ^ 7) _
+ Int((mingh Mod (2 ^ 28)) / 2 ^ 27) * (2 ^ 8) + Int((mingh Mod (2 ^ 20)) / 2 ^ 19) * (2 ^ 9) _
+ Int((mingh Mod (2 ^ 12)) / 2 ^ 11) * (2 ^ 10) + Int((mingh Mod (2 ^ 4)) / 2 ^ 3) * (2 ^ 11) _
+ Int((mingl Mod (2 ^ 28)) / 2 ^ 27) * (2 ^ 12) + Int((mingl Mod (2 ^ 20)) / 2 ^ 19) * (2 ^ 13) _
+ Int((mingl Mod (2 ^ 12)) / 2 ^ 11) * (2 ^ 14) + Int((mingl Mod (2 ^ 4)) / 2 ^ 3) * (2 ^ 15) _
+ Int((mingh Mod (2 ^ 30)) / 2 ^ 29) * (2 ^ 16) + Int((mingh Mod (2 ^ 22)) / 2 ^ 21) * (2 ^ 17) _
+ Int((mingh Mod (2 ^ 14)) / 2 ^ 13) * (2 ^ 18) + Int((mingh Mod (2 ^ 6)) / 2 ^ 5) * (2 ^ 19) _
+ Int((mingl Mod (2 ^ 30)) / 2 ^ 29) * (2 ^ 20) + Int((mingl Mod (2 ^ 22)) / 2 ^ 21) * (2 ^ 21) _
+ Int((mingl Mod (2 ^ 14)) / 2 ^ 13) * (2 ^ 22) + Int((mingl Mod (2 ^ 6)) / 2 ^ 5) * (2 ^ 23) _
+ hibit * (2 ^ 24) + Int((mingh Mod (2 ^ 24)) / 2 ^ 23) * (2 ^ 25) _
+ Int((mingh Mod (2 ^ 16)) / 2 ^ 15) * (2 ^ 26) + Int((mingh Mod (2 ^ 8)) / 2 ^ 7) * (2 ^ 27) _
+ lowbit * (2 ^ 28) + Int((mingl Mod (2 ^ 24)) / 2 ^ 23) * (2 ^ 29) _
+ Int((mingl Mod (2 ^ 16)) / 2 ^ 15) * (2 ^ 30) + Int((mingl Mod (2 ^ 8)) / 2 ^ 7) * (2 ^ 31)


Dim ii As Byte
Dim trankk, tranval, fval As Variant
Dim l0h As Long, l0l As Long, fh As Long, fl As Long
For ii = 1 To 16
    tranval = r0
    trankk = kk(17 - ii)
    fval = ff(r0, trankk)
    l0h = Int(l0 / 2 ^ 16)
    l0l = l0 - l0h * 2 ^ 16
    fh = Int(fval / 2 ^ 16)
    fl = fval - fh * 2 ^ 16
    r0 = (fh Xor l0h) * 2 ^ 16 + (fl Xor l0l)
    l0 = tranval
Next ii

If (r0 >= 2 ^ 31) Then
    hibit = 1
    r0 = r0 - 2 ^ 31
Else
    hibit = 0
End If

If (l0 >= 2 ^ 31) Then
    lowbit = 1
    l0 = l0 - 2 ^ 31
Else
    lowbit = 0
End If

Dim mh, ml As Variant
mh = Int((r0 Mod (2 ^ 4)) / 2 ^ 3) * (2 ^ 0) + Int((l0 Mod (2 ^ 4)) / 2 ^ 3) * (2 ^ 1) _
+ Int((r0 Mod (2 ^ 12)) / 2 ^ 11) * (2 ^ 2) + Int((l0 Mod (2 ^ 12)) / 2 ^ 11) * (2 ^ 3) _
+ Int((r0 Mod (2 ^ 20)) / 2 ^ 19) * (2 ^ 4) + Int((l0 Mod (2 ^ 20)) / 2 ^ 19) * (2 ^ 5) _
+ Int((r0 Mod (2 ^ 28)) / 2 ^ 27) * (2 ^ 6) + Int((l0 Mod (2 ^ 28)) / 2 ^ 27) * (2 ^ 7) _
+ Int((r0 Mod (2 ^ 3)) / 2 ^ 2) * (2 ^ 8) + Int((l0 Mod (2 ^ 3)) / 2 ^ 2) * (2 ^ 9) _
+ Int((r0 Mod (2 ^ 11)) / 2 ^ 10) * (2 ^ 10) + Int((l0 Mod (2 ^ 11)) / 2 ^ 10) * (2 ^ 11) _
+ Int((r0 Mod (2 ^ 19)) / 2 ^ 18) * (2 ^ 12) + Int((l0 Mod (2 ^ 19)) / 2 ^ 18) * (2 ^ 13) _
+ Int((r0 Mod (2 ^ 27)) / 2 ^ 26) * (2 ^ 14) + Int((l0 Mod (2 ^ 27)) / 2 ^ 26) * (2 ^ 15) _
+ Int((r0 Mod (2 ^ 2)) / 2 ^ 1) * (2 ^ 16) + Int((l0 Mod (2 ^ 2)) / 2 ^ 1) * (2 ^ 17) _
+ Int((r0 Mod (2 ^ 10)) / 2 ^ 9) * (2 ^ 18) + Int((l0 Mod (2 ^ 10)) / 2 ^ 9) * (2 ^ 19) _
+ Int((r0 Mod (2 ^ 18)) / 2 ^ 17) * (2 ^ 20) + Int((l0 Mod (2 ^ 18)) / 2 ^ 17) * (2 ^ 21) _
+ Int((r0 Mod (2 ^ 26)) / 2 ^ 25) * (2 ^ 22) + Int((l0 Mod (2 ^ 26)) / 2 ^ 25) * (2 ^ 23) _
+ Int((r0 Mod (2 ^ 1)) / 2 ^ 0) * (2 ^ 24) + Int((l0 Mod (2 ^ 1)) / 2 ^ 0) * (2 ^ 25) _
+ Int((r0 Mod (2 ^ 9)) / 2 ^ 8) * (2 ^ 26) + Int((l0 Mod (2 ^ 9)) / 2 ^ 8) * (2 ^ 27) _
+ Int((r0 Mod (2 ^ 17)) / 2 ^ 16) * (2 ^ 28) + Int((l0 Mod (2 ^ 17)) / 2 ^ 16) * (2 ^ 29) _
+ Int((r0 Mod (2 ^ 25)) / 2 ^ 24) * (2 ^ 30) + Int((l0 Mod (2 ^ 25)) / 2 ^ 24) * (2 ^ 31)


ml = Int((r0 Mod (2 ^ 8)) / 2 ^ 7) * (2 ^ 0) + Int((l0 Mod (2 ^ 8)) / 2 ^ 7) * (2 ^ 1) _
+ Int((r0 Mod (2 ^ 16)) / 2 ^ 15) * (2 ^ 2) + Int((l0 Mod (2 ^ 16)) / 2 ^ 15) * (2 ^ 3) _
+ Int((r0 Mod (2 ^ 24)) / 2 ^ 23) * (2 ^ 4) + Int((l0 Mod (2 ^ 24)) / 2 ^ 23) * (2 ^ 5) _
+ hibit * (2 ^ 6) + lowbit * (2 ^ 7) _
+ Int((r0 Mod (2 ^ 7)) / 2 ^ 6) * (2 ^ 8) + Int((l0 Mod (2 ^ 7)) / 2 ^ 6) * (2 ^ 9) _
+ Int((r0 Mod (2 ^ 15)) / 2 ^ 14) * (2 ^ 10) + Int((l0 Mod (2 ^ 15)) / 2 ^ 14) * (2 ^ 11) _
+ Int((r0 Mod (2 ^ 23)) / 2 ^ 22) * (2 ^ 12) + Int((l0 Mod (2 ^ 23)) / 2 ^ 22) * (2 ^ 13) _
+ Int(r0 / 2 ^ 30) * (2 ^ 14) + Int(l0 / 2 ^ 30) * (2 ^ 15) _
+ Int((r0 Mod (2 ^ 6)) / 2 ^ 5) * (2 ^ 16) + Int((l0 Mod (2 ^ 6)) / 2 ^ 5) * (2 ^ 17) _
+ Int((r0 Mod (2 ^ 14)) / 2 ^ 13) * (2 ^ 18) + Int((l0 Mod (2 ^ 14)) / 2 ^ 13) * (2 ^ 19) _
+ Int((r0 Mod (2 ^ 22)) / 2 ^ 21) * (2 ^ 20) + Int((l0 Mod (2 ^ 22)) / 2 ^ 21) * (2 ^ 21) _
+ Int((r0 Mod (2 ^ 30)) / 2 ^ 29) * (2 ^ 22) + Int((l0 Mod (2 ^ 30)) / 2 ^ 29) * (2 ^ 23) _
+ Int((r0 Mod (2 ^ 5)) / 2 ^ 4) * (2 ^ 24) + Int((l0 Mod (2 ^ 5)) / 2 ^ 4) * (2 ^ 25) _
+ Int((r0 Mod (2 ^ 13)) / 2 ^ 12) * (2 ^ 26) + Int((l0 Mod (2 ^ 13)) / 2 ^ 12) * (2 ^ 27) _
+ Int((r0 Mod (2 ^ 21)) / 2 ^ 20) * (2 ^ 28) + Int((l0 Mod (2 ^ 21)) / 2 ^ 20) * (2 ^ 29) _
+ Int((r0 Mod (2 ^ 29)) / 2 ^ 28) * (2 ^ 30) + Int((l0 Mod (2 ^ 29)) / 2 ^ 28) * (2 ^ 31)

MsgBox (mh)
MsgBox (ml)
Unload Me
frmmain.Show
End Sub

Private Sub Text1_Change()
If (Val(Text1.Text) < 2 ^ 32 And Val(Text2.Text) < 2 ^ 32 And (Val(Text1.Text) > 0 Or Val(Text2.Text) > 0)) Then
    Command3.Enabled = True
Else
    Command3.Enabled = False
End If
End Sub

Private Sub Text2_Change()
If (Val(Text1.Text) < 2 ^ 32 And Val(Text2.Text) < 2 ^ 32 And (Val(Text1.Text) > 0 Or Val(Text2.Text) > 0)) Then
    Command3.Enabled = True
Else
    Command3.Enabled = False
End If

End Sub



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -