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

📄 clstwofish.cls

📁 vb md5 des等8种算法的加解密源码
💻 CLS
📖 第 1 页 / 共 3 页
字号:

  K = ROUND_SUBKEYS + 2 * ROUNDS - 1
  For R = 0 To ROUNDS - 1 Step 2
    If (m_RunningCompiled) Then
      t0 = Fe32(DWord(2), 0)
      t1 = Fe32(DWord(3), 3)
      t0 = t0 + t1
      DWord(1) = Rot1(DWord(1) Xor (t0 + t1 + sKey(K)))
      K = K - 1
      DWord(0) = Rot31(DWord(0)) Xor (t0 + sKey(K))
      K = K - 1
      t0 = Fe32(DWord(0), 0)
      t1 = Fe32(DWord(1), 3)
      t0 = t0 + t1
      DWord(3) = Rot1(DWord(3) Xor (t0 + t1 + sKey(K)))
      K = K - 1
      DWord(2) = Rot31(DWord(2)) Xor (t0 + sKey(K))
      K = K - 1
    Else
      t0 = Fe32(DWord(2), 0)
      t1 = Fe32(DWord(3), 3)
      t0 = UnsignedAdd(t0, t1)
      DWord(1) = Rot1(DWord(1) Xor (UnsignedAdd(UnsignedAdd(t0, t1), sKey(K))))
      K = K - 1
      DWord(0) = Rot31(DWord(0)) Xor (UnsignedAdd(t0, sKey(K)))
      K = K - 1
      t0 = Fe32(DWord(0), 0)
      t1 = Fe32(DWord(1), 3)
      t0 = UnsignedAdd(t0, t1)
      DWord(3) = Rot1(DWord(3) Xor (UnsignedAdd(UnsignedAdd(t0, t1), sKey(K))))
      K = K - 1
      DWord(2) = Rot31(DWord(2)) Xor (UnsignedAdd(t0, sKey(K)))
      K = K - 1
    End If
  Next
    
  DWord(0) = DWord(0) Xor sKey(INPUT_WHITEN)
  DWord(1) = DWord(1) Xor sKey(INPUT_WHITEN + 1)
  DWord(2) = DWord(2) Xor sKey(INPUT_WHITEN + 2)
  DWord(3) = DWord(3) Xor sKey(INPUT_WHITEN + 3)

End Sub
Private Static Function Rot1(Value As Long) As Long

  Dim Temp As Byte
  Dim x(0 To 3) As Byte
  
  Call CopyMem(x(0), Value, 4)
  
  Temp = x(0)
  x(0) = (x(0) \ 2) Or ((x(1) And 1) * 128)
  x(1) = (x(1) \ 2) Or ((x(2) And 1) * 128)
  x(2) = (x(2) \ 2) Or ((x(3) And 1) * 128)
  x(3) = (x(3) \ 2) Or ((Temp And 1) * 128)
  
  Call CopyMem(Rot1, x(0), 4)
  
End Function
Private Static Function Rot31(Value As Long) As Long

  Dim Temp As Byte
  Dim x(0 To 3) As Byte
  
  Call CopyMem(x(0), Value, 4)
  
  Temp = x(3)
  x(3) = ((x(3) And 127) * 2) Or -CBool(x(2) And 128)
  x(2) = ((x(2) And 127) * 2) Or -CBool(x(1) And 128)
  x(1) = ((x(1) And 127) * 2) Or -CBool(x(0) And 128)
  x(0) = ((x(0) And 127) * 2) Or -CBool(Temp And 128)
  
  Call CopyMem(Rot31, x(0), 4)
  
End Function

Private Sub Class_Initialize()
  
  Dim i As Long
  Dim j As Long
  Dim m1(0 To 1) As Long
  Dim mX(0 To 1) As Long
  Dim mY(0 To 1) As Long
  
  'We need to check if we are running in compiled
  '(EXE) mode or in the IDE, this will allow us to
  'use optimized code with unsigned integers in
  'compiled mode without any overflow errors when
  'running the code in the IDE
  On Local Error Resume Next
  m_RunningCompiled = ((2147483647 + 1) < 0)
  
  'Initialize P(0,..) array
  P(0, 0) = &HA9
  P(0, 1) = &H67
  P(0, 2) = &HB3
  P(0, 3) = &HE8
  P(0, 4) = &H4
  P(0, 5) = &HFD
  P(0, 6) = &HA3
  P(0, 7) = &H76
  P(0, 8) = &H9A
  P(0, 9) = &H92
  P(0, 10) = &H80
  P(0, 11) = &H78
  P(0, 12) = &HE4
  P(0, 13) = &HDD
  P(0, 14) = &HD1
  P(0, 15) = &H38
  P(0, 16) = &HD
  P(0, 17) = &HC6
  P(0, 18) = &H35
  P(0, 19) = &H98
  P(0, 20) = &H18
  P(0, 21) = &HF7
  P(0, 22) = &HEC
  P(0, 23) = &H6C
  P(0, 24) = &H43
  P(0, 25) = &H75
  P(0, 26) = &H37
  P(0, 27) = &H26
  P(0, 28) = &HFA
  P(0, 29) = &H13
  P(0, 30) = &H94
  P(0, 31) = &H48
  P(0, 32) = &HF2
  P(0, 33) = &HD0
  P(0, 34) = &H8B
  P(0, 35) = &H30
  P(0, 36) = &H84
  P(0, 37) = &H54
  P(0, 38) = &HDF
  P(0, 39) = &H23
  P(0, 40) = &H19
  P(0, 41) = &H5B
  P(0, 42) = &H3D
  P(0, 43) = &H59
  P(0, 44) = &HF3
  P(0, 45) = &HAE
  P(0, 46) = &HA2
  P(0, 47) = &H82
  P(0, 48) = &H63
  P(0, 49) = &H1
  P(0, 50) = &H83
  P(0, 51) = &H2E
  P(0, 52) = &HD9
  P(0, 53) = &H51
  P(0, 54) = &H9B
  P(0, 55) = &H7C
  P(0, 56) = &HA6
  P(0, 57) = &HEB
  P(0, 58) = &HA5
  P(0, 59) = &HBE
  P(0, 60) = &H16
  P(0, 61) = &HC
  P(0, 62) = &HE3
  P(0, 63) = &H61
  P(0, 64) = &HC0
  P(0, 65) = &H8C
  P(0, 66) = &H3A
  P(0, 67) = &HF5
  P(0, 68) = &H73
  P(0, 69) = &H2C
  P(0, 70) = &H25
  P(0, 71) = &HB
  P(0, 72) = &HBB
  P(0, 73) = &H4E
  P(0, 74) = &H89
  P(0, 75) = &H6B
  P(0, 76) = &H53
  P(0, 77) = &H6A
  P(0, 78) = &HB4
  P(0, 79) = &HF1
  P(0, 80) = &HE1
  P(0, 81) = &HE6
  P(0, 82) = &HBD
  P(0, 83) = &H45
  P(0, 84) = &HE2
  P(0, 85) = &HF4
  P(0, 86) = &HB6
  P(0, 87) = &H66
  P(0, 88) = &HCC
  P(0, 89) = &H95
  P(0, 90) = &H3
  P(0, 91) = &H56
  P(0, 92) = &HD4
  P(0, 93) = &H1C
  P(0, 94) = &H1E
  P(0, 95) = &HD7
  P(0, 96) = &HFB
  P(0, 97) = &HC3
  P(0, 98) = &H8E
  P(0, 99) = &HB5
  P(0, 100) = &HE9
  P(0, 101) = &HCF
  P(0, 102) = &HBF
  P(0, 103) = &HBA
  P(0, 104) = &HEA
  P(0, 105) = &H77
  P(0, 106) = &H39
  P(0, 107) = &HAF
  P(0, 108) = &H33
  P(0, 109) = &HC9
  P(0, 110) = &H62
  P(0, 111) = &H71
  P(0, 112) = &H81
  P(0, 113) = &H79
  P(0, 114) = &H9
  P(0, 115) = &HAD
  P(0, 116) = &H24
  P(0, 117) = &HCD
  P(0, 118) = &HF9
  P(0, 119) = &HD8
  P(0, 120) = &HE5
  P(0, 121) = &HC5
  P(0, 122) = &HB9
  P(0, 123) = &H4D
  P(0, 124) = &H44
  P(0, 125) = &H8
  P(0, 126) = &H86
  P(0, 127) = &HE7
  P(0, 128) = &HA1
  P(0, 129) = &H1D
  P(0, 130) = &HAA
  P(0, 131) = &HED
  P(0, 132) = &H6
  P(0, 133) = &H70
  P(0, 134) = &HB2
  P(0, 135) = &HD2
  P(0, 136) = &H41
  P(0, 137) = &H7B
  P(0, 138) = &HA0
  P(0, 139) = &H11
  P(0, 140) = &H31
  P(0, 141) = &HC2
  P(0, 142) = &H27
  P(0, 143) = &H90
  P(0, 144) = &H20
  P(0, 145) = &HF6
  P(0, 146) = &H60
  P(0, 147) = &HFF
  P(0, 148) = &H96
  P(0, 149) = &H5C
  P(0, 150) = &HB1
  P(0, 151) = &HAB
  P(0, 152) = &H9E
  P(0, 153) = &H9C
  P(0, 154) = &H52
  P(0, 155) = &H1B
  P(0, 156) = &H5F
  P(0, 157) = &H93
  P(0, 158) = &HA
  P(0, 159) = &HEF
  P(0, 160) = &H91
  P(0, 161) = &H85
  P(0, 162) = &H49
  P(0, 163) = &HEE
  P(0, 164) = &H2D
  P(0, 165) = &H4F
  P(0, 166) = &H8F
  P(0, 167) = &H3B
  P(0, 168) = &H47
  P(0, 169) = &H87
  P(0, 170) = &H6D
  P(0, 171) = &H46
  P(0, 172) = &HD6
  P(0, 173) = &H3E
  P(0, 174) = &H69
  P(0, 175) = &H64
  P(0, 176) = &H2A
  P(0, 177) = &HCE
  P(0, 178) = &HCB
  P(0, 179) = &H2F
  P(0, 180) = &HFC
  P(0, 181) = &H97
  P(0, 182) = &H5
  P(0, 183) = &H7A
  P(0, 184) = &HAC
  P(0, 185) = &H7F
  P(0, 186) = &HD5
  P(0, 187) = &H1A
  P(0, 188) = &H4B
  P(0, 189) = &HE
  P(0, 190) = &HA7
  P(0, 191) = &H5A
  P(0, 192) = &H28
  P(0, 193) = &H14
  P(0, 194) = &H3F
  P(0, 195) = &H29
  P(0, 196) = &H88
  P(0, 197) = &H3C
  P(0, 198) = &H4C
  P(0, 199) = &H2
  P(0, 200) = &HB8
  P(0, 201) = &HDA
  P(0, 202) = &HB0
  P(0, 203) = &H17
  P(0, 204) = &H55
  P(0, 205) = &H1F
  P(0, 206) = &H8A
  P(0, 207) = &H7D
  P(0, 208) = &H57
  P(0, 209) = &HC7
  P(0, 210) = &H8D
  P(0, 211) = &H74
  P(0, 212) = &HB7
  P(0, 213) = &HC4
  P(0, 214) = &H9F
  P(0, 215) = &H72
  P(0, 216) = &H7E
  P(0, 217) = &H15
  P(0, 218) = &H22
  P(0, 219) = &H12
  P(0, 220) = &H58
  P(0, 221) = &H7
  P(0, 222) = &H99
  P(0, 223) = &H34
  P(0, 224) = &H6E
  P(0, 225) = &H50
  P(0, 226) = &HDE
  P(0, 227) = &H68
  P(0, 228) = &H65
  P(0, 229) = &HBC
  P(0, 230) = &HDB
  P(0, 231) = &HF8
  P(0, 232) = &HC8
  P(0, 233) = &HA8
  P(0, 234) = &H2B
  P(0, 235) = &H40
  P(0, 236) = &HDC
  P(0, 237) = &HFE
  P(0, 238) = &H32
  P(0, 239) = &HA4
  P(0, 240) = &HCA
  P(0, 241) = &H10
  P(0, 242) = &H21
  P(0, 243) = &HF0
  P(0, 244) = &HD3
  P(0, 245) = &H5D
  P(0, 246) = &HF
  P(0, 247) = &H0
  P(0, 248) = &H6F
  P(0, 249) = &H9D
  P(0, 250) = &H36
  P(0, 251) = &H42
  P(0, 252) = &H4A
  P(0, 253) = &H5E
  P(0, 254) = &HC1
  P(0, 255) = &HE0
  
  'Initialize P(1,..) array
  P(1, 0) = &H75
  P(1, 1) = &HF3
  P(1, 2) = &HC6
  P(1, 3) = &HF4
  P(1, 4) = &HDB
  P(1, 5) = &H7B
  P(1, 6) = &HFB
  P(1, 7) = &HC8
  P(1, 8) = &H4A
  P(1, 9) = &HD3
  P(1, 10) = &HE6
  P(1, 11) = &H6B
  P(1, 12) = &H45
  P(1, 13) = &H7D
  P(1, 14) = &HE8
  P(1, 15) = &H4B
  P(1, 16) = &HD6
  P(1, 17) = &H32
  P(1, 18) = &HD8
  P(1, 19) = &HFD
  P(1, 20) = &H37
  P(1, 21) = &H71
  P(1, 22) = &HF1
  P(1, 23) = &HE1
  P(1, 24) = &H30
  P(1, 25) = &HF
  P(1, 26) = &HF8
  P(1, 27) = &H1B
  P(1, 28) = &H87
  P(1, 29) = &HFA
  P(1, 30) = &H6
  P(1, 31) = &H3F
  P(1, 32) = &H5E
  P(1, 33) = &HBA
  P(1, 34) = &HAE
  P(1, 35) = &H5B
  P(1, 36) = &H8A
  P(1, 37) = &H0
  P(1, 38) = &HBC
  P(1, 39) = &H9D
  P(1, 40) = &H6D
  P(1, 41) = &HC1
  P(1, 42) = &HB1
  P(1, 43) = &HE
  P(1, 44) = &H80
  P(1, 45) = &H5D
  P(1, 46) = &HD2
  P(1, 47) = &HD5
  P(1, 48) = &HA0
  P(1, 49) = &H84
  P(1, 50) = &H7

⌨️ 快捷键说明

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