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

📄 module1.bas

📁 DES算法单机版
💻 BAS
📖 第 1 页 / 共 2 页
字号:
    s(2) = 5
ElseIf ((rr = 0 And hh = 4) Or (rr = 3 And hh = 9) Or (rr = 2 And hh = 11) Or (rr = 1 And hh = 12)) Then
    s(2) = 6
ElseIf ((rr = 2 And hh = 2) Or (rr = 1 And hh = 3) Or (rr = 0 And hh = 9) Or (rr = 3 And hh = 10)) Then
    s(2) = 7
ElseIf ((rr = 0 And hh = 2) Or (rr = 1 And hh = 6) Or (rr = 3 And hh = 1) Or (rr = 2 And hh = 9)) Then
    s(2) = 8
ElseIf ((rr = 0 And hh = 8) Or (rr = 2 And hh = 12) Or (rr = 1 And hh = 13) Or (rr = 3 And hh = 15)) Then
    s(2) = 9
ElseIf ((rr = 3 And hh = 2) Or (rr = 2 And hh = 4) Or (rr = 1 And hh = 11) Or (rr = 0 And hh = 15)) Then
    s(2) = 10
ElseIf ((rr = 2 And hh = 3) Or (rr = 0 And hh = 5) Or (rr = 3 And hh = 8) Or (rr = 1 And hh = 14)) Then
    s(2) = 11
ElseIf ((rr = 1 And hh = 8) Or (rr = 2 And hh = 10) Or (rr = 3 And hh = 11) Or (rr = 0 And hh = 12)) Then
    s(2) = 12
ElseIf ((rr = 3 And hh = 0) Or (rr = 1 And hh = 1) Or (rr = 2 And hh = 6) Or (rr = 0 And hh = 11)) Then
    s(2) = 13
ElseIf ((rr = 2 And hh = 1) Or (rr = 0 And hh = 3) Or (rr = 1 And hh = 7) Or (rr = 3 And hh = 14)) Then
    s(2) = 14
Else
    s(2) = 15
End If


rr = (s(3) And 1) + Int(s(3) / 2 ^ 5) * 2
hh = (s(3) And 30) / 2
If ((rr = 0 And hh = 1) Or (rr = 1 And hh = 2) Or (rr = 3 And hh = 3) Or (rr = 2 And hh = 7)) Then
    s(3) = 0
ElseIf ((rr = 0 And hh = 8) Or (rr = 2 And hh = 9) Or (rr = 3 And hh = 0) Or (rr = 1 And hh = 15)) Then
    s(3) = 1
ElseIf ((rr = 1 And hh = 8) Or (rr = 2 And hh = 10) Or (rr = 0 And hh = 14) Or (rr = 3 And hh = 14)) Then
    s(3) = 2
ElseIf ((rr = 1 And hh = 4) Or (rr = 0 And hh = 5) Or (rr = 2 And hh = 6) Or (rr = 3 And hh = 11)) Then
    s(3) = 3
ElseIf ((rr = 2 And hh = 2) Or (rr = 1 And hh = 5) Or (rr = 3 And hh = 8) Or (rr = 0 And hh = 13)) Then
    s(3) = 4
ElseIf ((rr = 0 And hh = 7) Or (rr = 1 And hh = 10) Or (rr = 2 And hh = 12) Or (rr = 3 And hh = 13)) Then
    s(3) = 5
ElseIf ((rr = 2 And hh = 1) Or (rr = 0 And hh = 4) Or (rr = 3 And hh = 4) Or (rr = 1 And hh = 6)) Then
    s(3) = 6
ElseIf ((rr = 1 And hh = 1) Or (rr = 3 And hh = 7) Or (rr = 0 And hh = 11) Or (rr = 2 And hh = 15)) Then
    s(3) = 7
ElseIf ((rr = 2 And hh = 4) Or (rr = 3 And hh = 6) Or (rr = 1 And hh = 9) Or (rr = 0 And hh = 15)) Then
    s(3) = 8
ElseIf ((rr = 0 And hh = 2) Or (rr = 2 And hh = 3) Or (rr = 1 And hh = 3) Or (rr = 3 And hh = 5)) Then
    s(3) = 9
ElseIf ((rr = 0 And hh = 0) Or (rr = 1 And hh = 7) Or (rr = 3 And hh = 1) Or (rr = 2 And hh = 13)) Then
    s(3) = 10
ElseIf ((rr = 2 And hh = 8) Or (rr = 0 And hh = 12) Or (rr = 3 And hh = 12) Or (rr = 1 And hh = 13)) Then
    s(3) = 11
ElseIf ((rr = 0 And hh = 10) Or (rr = 2 And hh = 11) Or (rr = 1 And hh = 12) Or (rr = 3 And hh = 15)) Then
    s(3) = 12
ElseIf ((rr = 1 And hh = 0) Or (rr = 2 And hh = 0) Or (rr = 3 And hh = 2) Or (rr = 0 And hh = 9)) Then
    s(3) = 13
ElseIf ((rr = 0 And hh = 3) Or (rr = 3 And hh = 10) Or (rr = 1 And hh = 11) Or (rr = 2 And hh = 14)) Then
    s(3) = 14
Else
    s(3) = 15
End If


rr = (s(4) And 1) + Int(s(4) / 2 ^ 5) * 2
hh = (s(4) And 30) / 2
If ((rr = 3 And hh = 2) Or (rr = 2 And hh = 3) Or (rr = 0 And hh = 4) Or (rr = 1 And hh = 6)) Then
    s(4) = 0
ElseIf ((rr = 3 And hh = 5) Or (rr = 0 And hh = 8) Or (rr = 2 And hh = 9) Or (rr = 1 And hh = 12)) Then
    s(4) = 1
ElseIf ((rr = 0 And hh = 9) Or (rr = 1 And hh = 10) Or (rr = 2 And hh = 13) Or (rr = 3 And hh = 14)) Then
    s(4) = 2
ElseIf ((rr = 3 And hh = 0) Or (rr = 0 And hh = 3) Or (rr = 1 And hh = 7) Or (rr = 2 And hh = 10)) Then
    s(4) = 3
ElseIf ((rr = 1 And hh = 8) Or (rr = 3 And hh = 9) Or (rr = 0 And hh = 14) Or (rr = 2 And hh = 15)) Then
    s(4) = 4
ElseIf ((rr = 1 And hh = 3) Or (rr = 3 And hh = 10) Or (rr = 0 And hh = 11) Or (rr = 2 And hh = 12)) Then
    s(4) = 5
ElseIf ((rr = 2 And hh = 1) Or (rr = 3 And hh = 3) Or (rr = 1 And hh = 4) Or (rr = 0 And hh = 5)) Then
    s(4) = 6
ElseIf ((rr = 0 And hh = 0) Or (rr = 2 And hh = 6) Or (rr = 1 And hh = 9) Or (rr = 3 And hh = 13)) Then
    s(4) = 7
ElseIf ((rr = 1 And hh = 1) Or (rr = 3 And hh = 7) Or (rr = 0 And hh = 10) Or (rr = 2 And hh = 14)) Then
    s(4) = 8
ElseIf ((rr = 2 And hh = 2) Or (rr = 0 And hh = 6) Or (rr = 3 And hh = 8) Or (rr = 1 And hh = 15)) Then
    s(4) = 9
ElseIf ((rr = 2 And hh = 0) Or (rr = 3 And hh = 4) Or (rr = 0 And hh = 7) Or (rr = 1 And hh = 13)) Then
    s(4) = 10
ElseIf ((rr = 1 And hh = 2) Or (rr = 2 And hh = 5) Or (rr = 3 And hh = 11) Or (rr = 0 And hh = 12)) Then
    s(4) = 11
ElseIf ((rr = 2 And hh = 4) Or (rr = 1 And hh = 11) Or (rr = 3 And hh = 12) Or (rr = 0 And hh = 13)) Then
    s(4) = 12
ElseIf ((rr = 1 And hh = 0) Or (rr = 0 And hh = 1) Or (rr = 3 And hh = 6) Or (rr = 2 And hh = 7)) Then
    s(4) = 13
ElseIf ((rr = 0 And hh = 2) Or (rr = 2 And hh = 11) Or (rr = 1 And hh = 14) Or (rr = 3 And hh = 15)) Then
    s(4) = 14
Else
    s(4) = 15
End If


rr = (s(5) And 1) + Int(s(5) / 2 ^ 5) * 2
hh = (s(5) And 30) / 2
If ((rr = 1 And hh = 9) Or (rr = 3 And hh = 10) Or (rr = 0 And hh = 13) Or (rr = 2 And hh = 14)) Then
    s(5) = 0
ElseIf ((rr = 2 And hh = 2) Or (rr = 0 And hh = 3) Or (rr = 3 And hh = 4) Or (rr = 1 And hh = 7)) Then
    s(5) = 1
ElseIf ((rr = 0 And hh = 0) Or (rr = 2 And hh = 1) Or (rr = 1 And hh = 2) Or (rr = 3 And hh = 6)) Then
    s(5) = 2
ElseIf ((rr = 0 And hh = 10) Or (rr = 1 And hh = 12) Or (rr = 2 And hh = 13) Or (rr = 3 And hh = 15)) Then
    s(5) = 3
ElseIf ((rr = 2 And hh = 0) Or (rr = 0 And hh = 2) Or (rr = 1 And hh = 4) Or (rr = 3 And hh = 13)) Then
    s(5) = 4
ElseIf ((rr = 0 And hh = 9) Or (rr = 2 And hh = 11) Or (rr = 1 And hh = 8) Or (rr = 3 And hh = 14)) Then
    s(5) = 5
ElseIf ((rr = 0 And hh = 7) Or (rr = 3 And hh = 8) Or (rr = 2 And hh = 12) Or (rr = 1 And hh = 15)) Then
    s(5) = 6
ElseIf ((rr = 3 And hh = 3) Or (rr = 0 And hh = 4) Or (rr = 1 And hh = 5) Or (rr = 2 And hh = 6)) Then
    s(5) = 7
ElseIf ((rr = 3 And hh = 1) Or (rr = 2 And hh = 7) Or (rr = 0 And hh = 8) Or (rr = 1 And hh = 14)) Then
    s(5) = 8
ElseIf ((rr = 2 And hh = 9) Or (rr = 3 And hh = 11) Or (rr = 1 And hh = 13) Or (rr = 0 And hh = 15)) Then
    s(5) = 9
ElseIf ((rr = 2 And hh = 4) Or (rr = 0 And hh = 5) Or (rr = 1 And hh = 11) Or (rr = 3 And hh = 12)) Then
    s(5) = 10
ElseIf ((rr = 3 And hh = 0) Or (rr = 1 And hh = 1) Or (rr = 2 And hh = 3) Or (rr = 0 And hh = 6)) Then
    s(5) = 11
ElseIf ((rr = 0 And hh = 1) Or (rr = 3 And hh = 2) Or (rr = 1 And hh = 3) Or (rr = 2 And hh = 10)) Then
    s(5) = 12
ElseIf ((rr = 2 And hh = 5) Or (rr = 1 And hh = 6) Or (rr = 3 And hh = 7) Or (rr = 0 And hh = 12)) Then
    s(5) = 13
ElseIf ((rr = 1 And hh = 0) Or (rr = 3 And hh = 5) Or (rr = 0 And hh = 14) Or (rr = 2 And hh = 15)) Then
    s(5) = 14
Else
    s(5) = 15
End If


rr = (s(6) And 1) + Int(s(6) / 2 ^ 5) * 2
hh = (s(6) And 30) / 2
If ((rr = 0 And hh = 8) Or (rr = 2 And hh = 9) Or (rr = 1 And hh = 12) Or (rr = 3 And hh = 13)) Then
    s(6) = 0
ElseIf ((rr = 0 And hh = 1) Or (rr = 1 And hh = 9) Or (rr = 3 And hh = 10) Or (rr = 2 And hh = 12)) Then
    s(6) = 1
ElseIf ((rr = 3 And hh = 2) Or (rr = 2 And hh = 4) Or (rr = 1 And hh = 3) Or (rr = 0 And hh = 5)) Then
    s(6) = 2
ElseIf ((rr = 3 And hh = 1) Or (rr = 2 And hh = 7) Or (rr = 0 And hh = 10) Or (rr = 1 And hh = 14)) Then
    s(6) = 3
ElseIf ((rr = 3 And hh = 0) Or (rr = 1 And hh = 2) Or (rr = 2 And hh = 10) Or (rr = 0 And hh = 11)) Then
    s(6) = 4
ElseIf ((rr = 2 And hh = 3) Or (rr = 3 And hh = 5) Or (rr = 1 And hh = 7) Or (rr = 0 And hh = 14)) Then
    s(6) = 5
ElseIf ((rr = 0 And hh = 6) Or (rr = 1 And hh = 8) Or (rr = 3 And hh = 12) Or (rr = 2 And hh = 15)) Then
    s(6) = 6
ElseIf ((rr = 1 And hh = 4) Or (rr = 2 And hh = 8) Or (rr = 3 And hh = 11) Or (rr = 0 And hh = 13)) Then
    s(6) = 7
ElseIf ((rr = 2 And hh = 5) Or (rr = 0 And hh = 7) Or (rr = 3 And hh = 14) Or (rr = 1 And hh = 15)) Then
    s(6) = 8
ElseIf ((rr = 2 And hh = 0) Or (rr = 0 And hh = 4) Or (rr = 3 And hh = 4) Or (rr = 1 And hh = 6)) Then
    s(6) = 9
ElseIf ((rr = 1 And hh = 0) Or (rr = 0 And hh = 2) Or (rr = 3 And hh = 7) Or (rr = 2 And hh = 11)) Then
    s(6) = 10
ElseIf ((rr = 3 And hh = 8) Or (rr = 1 And hh = 13) Or (rr = 2 And hh = 14) Or (rr = 0 And hh = 15)) Then
    s(6) = 11
ElseIf ((rr = 3 And hh = 3) Or (rr = 1 And hh = 5) Or (rr = 0 And hh = 0) Or (rr = 2 And hh = 6)) Then
    s(6) = 12
ElseIf ((rr = 0 And hh = 9) Or (rr = 1 And hh = 10) Or (rr = 2 And hh = 13) Or (rr = 3 And hh = 15)) Then
    s(6) = 13
ElseIf ((rr = 2 And hh = 1) Or (rr = 3 And hh = 9) Or (rr = 1 And hh = 11) Or (rr = 0 And hh = 12)) Then
    s(6) = 14
Else
    s(6) = 15
End If



rr = (s(7) And 1) + Int(s(7) / 2 ^ 5) * 2
hh = (s(7) And 30) / 2
If ((rr = 1 And hh = 1) Or (rr = 0 And hh = 5) Or (rr = 3 And hh = 10) Or (rr = 2 And hh = 12)) Then
    s(7) = 0
ElseIf ((rr = 2 And hh = 0) Or (rr = 3 And hh = 4) Or (rr = 1 And hh = 6) Or (rr = 0 And hh = 15)) Then
    s(7) = 1
ElseIf ((rr = 0 And hh = 2) Or (rr = 1 And hh = 12) Or (rr = 3 And hh = 13) Or (rr = 2 And hh = 15)) Then
    s(7) = 2
ElseIf ((rr = 2 And hh = 5) Or (rr = 0 And hh = 8) Or (rr = 1 And hh = 9) Or (rr = 3 And hh = 14)) Then
    s(7) = 3
ElseIf ((rr = 2 And hh = 1) Or (rr = 1 And hh = 4) Or (rr = 0 And hh = 0) Or (rr = 3 And hh = 5)) Then
    s(7) = 4
ElseIf ((rr = 3 And hh = 9) Or (rr = 1 And hh = 10) Or (rr = 0 And hh = 12) Or (rr = 2 And hh = 13)) Then
    s(7) = 5
ElseIf ((rr = 3 And hh = 0) Or (rr = 2 And hh = 10) Or (rr = 0 And hh = 14) Or (rr = 1 And hh = 15)) Then
    s(7) = 6
ElseIf ((rr = 1 And hh = 3) Or (rr = 2 And hh = 6) Or (rr = 3 And hh = 7) Or (rr = 0 And hh = 11)) Then
    s(7) = 7
ElseIf ((rr = 3 And hh = 3) Or (rr = 0 And hh = 6) Or (rr = 2 And hh = 11) Or (rr = 1 And hh = 14)) Then
    s(7) = 8
ElseIf ((rr = 1 And hh = 5) Or (rr = 3 And hh = 8) Or (rr = 0 And hh = 10) Or (rr = 2 And hh = 14)) Then
    s(7) = 9
ElseIf ((rr = 3 And hh = 6) Or (rr = 1 And hh = 7) Or (rr = 2 And hh = 8) Or (rr = 0 And hh = 13)) Then
    s(7) = 10
ElseIf ((rr = 1 And hh = 2) Or (rr = 2 And hh = 2) Or (rr = 0 And hh = 1) Or (rr = 3 And hh = 1)) Then
    s(7) = 11
ElseIf ((rr = 2 And hh = 4) Or (rr = 0 And hh = 9) Or (rr = 1 And hh = 11) Or (rr = 3 And hh = 15)) Then
    s(7) = 12
ElseIf ((rr = 1 And hh = 0) Or (rr = 2 And hh = 3) Or (rr = 3 And hh = 2) Or (rr = 0 And hh = 7)) Then
    s(7) = 13
ElseIf ((rr = 0 And hh = 3) Or (rr = 2 And hh = 7) Or (rr = 1 And hh = 8) Or (rr = 3 And hh = 12)) Then
    s(7) = 14
Else
    s(7) = 15
End If


rr = (s(8) And 1) + Int(s(8) / 2 ^ 5) * 2
hh = (s(8) And 30) / 2
If ((rr = 2 And hh = 8) Or (rr = 3 And hh = 11) Or (rr = 1 And hh = 12) Or (rr = 0 And hh = 13)) Then
    s(8) = 0
ElseIf ((rr = 1 And hh = 0) Or (rr = 3 And hh = 1) Or (rr = 2 And hh = 3) Or (rr = 0 And hh = 7)) Then
    s(8) = 1
ElseIf ((rr = 3 And hh = 0) Or (rr = 0 And hh = 1) Or (rr = 2 And hh = 7) Or (rr = 1 And hh = 15)) Then
    s(8) = 2
ElseIf ((rr = 1 And hh = 5) Or (rr = 0 And hh = 10) Or (rr = 3 And hh = 12) Or (rr = 2 And hh = 13)) Then
    s(8) = 3
ElseIf ((rr = 0 And hh = 3) Or (rr = 3 And hh = 4) Or (rr = 2 And hh = 2) Or (rr = 1 And hh = 7)) Then
    s(8) = 4
ElseIf ((rr = 1 And hh = 9) Or (rr = 0 And hh = 12) Or (rr = 3 And hh = 13) Or (rr = 2 And hh = 14)) Then
    s(8) = 5
ElseIf ((rr = 0 And hh = 4) Or (rr = 2 And hh = 9) Or (rr = 1 And hh = 10) Or (rr = 3 And hh = 14)) Then
    s(8) = 6
ElseIf ((rr = 2 And hh = 0) Or (rr = 3 And hh = 3) Or (rr = 1 And hh = 6) Or (rr = 0 And hh = 15)) Then
    s(8) = 7
ElseIf ((rr = 0 And hh = 2) Or (rr = 1 And hh = 3) Or (rr = 3 And hh = 6) Or (rr = 2 And hh = 15)) Then
    s(8) = 8
ElseIf ((rr = 2 And hh = 4) Or (rr = 0 And hh = 9) Or (rr = 3 And hh = 10) Or (rr = 1 And hh = 14)) Then
    s(8) = 9
ElseIf ((rr = 1 And hh = 4) Or (rr = 3 And hh = 5) Or (rr = 0 And hh = 8) Or (rr = 2 And hh = 10)) Then
    s(8) = 10
ElseIf ((rr = 2 And hh = 1) Or (rr = 0 And hh = 6) Or (rr = 1 And hh = 11) Or (rr = 3 And hh = 15)) Then
    s(8) = 11
ElseIf ((rr = 2 And hh = 5) Or (rr = 1 And hh = 8) Or (rr = 3 And hh = 9) Or (rr = 0 And hh = 14)) Then
    s(8) = 12
ElseIf ((rr = 0 And hh = 0) Or (rr = 1 And hh = 2) Or (rr = 3 And hh = 7) Or (rr = 2 And hh = 11)) Then
    s(8) = 13
ElseIf ((rr = 3 And hh = 2) Or (rr = 2 And hh = 6) Or (rr = 0 And hh = 11) Or (rr = 1 And hh = 13)) Then
    s(8) = 14
Else
    s(8) = 15
End If

eval = s(8) + s(7) * 2 ^ 4 + s(6) * 2 ^ 8 + s(5) * 2 ^ 12 + s(4) * 2 ^ 16 + s(3) * 2 ^ 20 + s(2) * 2 ^ 24 + s(1) * 2 ^ 28

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

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

End Function

⌨️ 快捷键说明

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