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

📄 des.bas

📁 DES加密算法
💻 BAS
📖 第 1 页 / 共 5 页
字号:
    S4(1, 4) = 6
    S4(1, 5) = 15
    S4(1, 6) = 0
    S4(1, 7) = 3
    S4(1, 8) = 4
    S4(1, 9) = 7
    S4(1, 10) = 2
    S4(1, 11) = 12
    S4(1, 12) = 1
    S4(1, 13) = 10
    S4(1, 14) = 14
    S4(1, 15) = 9
    S4(2, 0) = 10
    S4(2, 1) = 6
    S4(2, 2) = 9
    S4(2, 3) = 0
    S4(2, 4) = 12
    S4(2, 5) = 11
    S4(2, 6) = 7
    S4(2, 7) = 13
    S4(2, 8) = 15
    S4(2, 9) = 1
    S4(2, 10) = 3
    S4(2, 11) = 14
    S4(2, 12) = 5
    S4(2, 13) = 2
    S4(2, 14) = 8
    S4(2, 15) = 4
    S4(3, 0) = 3
    S4(3, 1) = 15
    S4(3, 2) = 0
    S4(3, 3) = 6
    S4(3, 4) = 10
    S4(3, 5) = 1
    S4(3, 6) = 13
    S4(3, 7) = 8
    S4(3, 8) = 9
    S4(3, 9) = 4
    S4(3, 10) = 5
    S4(3, 11) = 11
    S4(3, 12) = 12
    S4(3, 13) = 7
    S4(3, 14) = 2
    S4(3, 15) = 14
    
    S5(0, 0) = 2
    S5(0, 1) = 12
    S5(0, 2) = 4
    S5(0, 3) = 1
    S5(0, 4) = 7
    S5(0, 5) = 10
    S5(0, 6) = 11
    S5(0, 7) = 6
    S5(0, 8) = 8
    S5(0, 9) = 5
    S5(0, 10) = 3
    S5(0, 11) = 15
    S5(0, 12) = 13
    S5(0, 13) = 0
    S5(0, 14) = 14
    S5(0, 15) = 9
    S5(1, 0) = 14
    S5(1, 1) = 11
    S5(1, 2) = 2
    S5(1, 3) = 12
    S5(1, 4) = 4
    S5(1, 5) = 7
    S5(1, 6) = 13
    S5(1, 7) = 1
    S5(1, 8) = 5
    S5(1, 9) = 0
    S5(1, 10) = 15
    S5(1, 11) = 10
    S5(1, 12) = 3
    S5(1, 13) = 9
    S5(1, 14) = 8
    S5(1, 15) = 6
    S5(2, 0) = 4
    S5(2, 1) = 2
    S5(2, 2) = 1
    S5(2, 3) = 11
    S5(2, 4) = 10
    S5(2, 5) = 13
    S5(2, 6) = 7
    S5(2, 7) = 8
    S5(2, 8) = 15
    S5(2, 9) = 9
    S5(2, 10) = 12
    S5(2, 11) = 5
    S5(2, 12) = 6
    S5(2, 13) = 3
    S5(2, 14) = 0
    S5(2, 15) = 14
    S5(3, 0) = 11
    S5(3, 1) = 8
    S5(3, 2) = 12
    S5(3, 3) = 7
    S5(3, 4) = 1
    S5(3, 5) = 14
    S5(3, 6) = 2
    S5(3, 7) = 13
    S5(3, 8) = 6
    S5(3, 9) = 15
    S5(3, 10) = 0
    S5(3, 11) = 9
    S5(3, 12) = 10
    S5(3, 13) = 4
    S5(3, 14) = 5
    S5(3, 15) = 3
    
    S6(0, 0) = 12
    S6(0, 1) = 1
    S6(0, 2) = 10
    S6(0, 3) = 15
    S6(0, 4) = 9
    S6(0, 5) = 2
    S6(0, 6) = 6
    S6(0, 7) = 8
    S6(0, 8) = 0
    S6(0, 9) = 13
    S6(0, 10) = 3
    S6(0, 11) = 4
    S6(0, 12) = 14
    S6(0, 13) = 7
    S6(0, 14) = 5
    S6(0, 15) = 11
    S6(1, 0) = 10
    S6(1, 1) = 15
    S6(1, 2) = 4
    S6(1, 3) = 2
    S6(1, 4) = 7
    S6(1, 5) = 12
    S6(1, 6) = 9
    S6(1, 7) = 5
    S6(1, 8) = 6
    S6(1, 9) = 1
    S6(1, 10) = 13
    S6(1, 11) = 14
    S6(1, 12) = 0
    S6(1, 13) = 11
    S6(1, 14) = 3
    S6(1, 15) = 8
    S6(2, 0) = 9
    S6(2, 1) = 14
    S6(2, 2) = 15
    S6(2, 3) = 5
    S6(2, 4) = 2
    S6(2, 5) = 8
    S6(2, 6) = 12
    S6(2, 7) = 3
    S6(2, 8) = 7
    S6(2, 9) = 0
    S6(2, 10) = 4
    S6(2, 11) = 10
    S6(2, 12) = 1
    S6(2, 13) = 13
    S6(2, 14) = 11
    S6(2, 15) = 6
    S6(3, 0) = 4
    S6(3, 1) = 3
    S6(3, 2) = 2
    S6(3, 3) = 12
    S6(3, 4) = 9
    S6(3, 5) = 5
    S6(3, 6) = 15
    S6(3, 7) = 10
    S6(3, 8) = 11
    S6(3, 9) = 14
    S6(3, 10) = 1
    S6(3, 11) = 7
    S6(3, 12) = 6
    S6(3, 13) = 0
    S6(3, 14) = 8
    S6(3, 15) = 13
    
    S7(0, 0) = 4
    S7(0, 1) = 11
    S7(0, 2) = 2
    S7(0, 3) = 14
    S7(0, 4) = 15
    S7(0, 5) = 0
    S7(0, 6) = 8
    S7(0, 7) = 13
    S7(0, 8) = 3
    S7(0, 9) = 12
    S7(0, 10) = 9
    S7(0, 11) = 7
    S7(0, 12) = 5
    S7(0, 13) = 10
    S7(0, 14) = 6
    S7(0, 15) = 1
    S7(1, 0) = 13
    S7(1, 1) = 0
    S7(1, 2) = 11
    S7(1, 3) = 7
    S7(1, 4) = 4
    S7(1, 5) = 9
    S7(1, 6) = 1
    S7(1, 7) = 10
    S7(1, 8) = 14
    S7(1, 9) = 3
    S7(1, 10) = 5
    S7(1, 11) = 12
    S7(1, 12) = 2
    S7(1, 13) = 15
    S7(1, 14) = 8
    S7(1, 15) = 6
    S7(2, 0) = 1
    S7(2, 1) = 4
    S7(2, 2) = 11
    S7(2, 3) = 13
    S7(2, 4) = 12
    S7(2, 5) = 3
    S7(2, 6) = 7
    S7(2, 7) = 14
    S7(2, 8) = 10
    S7(2, 9) = 15
    S7(2, 10) = 6
    S7(2, 11) = 8
    S7(2, 12) = 0
    S7(2, 13) = 5
    S7(2, 14) = 9
    S7(2, 15) = 2
    S7(3, 0) = 6
    S7(3, 1) = 11
    S7(3, 2) = 13
    S7(3, 3) = 8
    S7(3, 4) = 1
    S7(3, 5) = 4
    S7(3, 6) = 10
    S7(3, 7) = 7
    S7(3, 8) = 9
    S7(3, 9) = 5
    S7(3, 10) = 0
    S7(3, 11) = 15
    S7(3, 12) = 14
    S7(3, 13) = 2
    S7(3, 14) = 3
    S7(3, 15) = 12
    
    S8(0, 0) = 13
    S8(0, 1) = 2
    S8(0, 2) = 8
    S8(0, 3) = 4
    S8(0, 4) = 6
    S8(0, 5) = 15
    S8(0, 6) = 11
    S8(0, 7) = 1
    S8(0, 8) = 10
    S8(0, 9) = 9
    S8(0, 10) = 3
    S8(0, 11) = 14
    S8(0, 12) = 5
    S8(0, 13) = 0
    S8(0, 14) = 12
    S8(0, 15) = 7
    S8(1, 0) = 1
    S8(1, 1) = 15
    S8(1, 2) = 13
    S8(1, 3) = 8
    S8(1, 4) = 10
    S8(1, 5) = 3
    S8(1, 6) = 7
    S8(1, 7) = 4
    S8(1, 8) = 12
    S8(1, 9) = 5
    S8(1, 10) = 6
    S8(1, 11) = 11
    S8(1, 12) = 0
    S8(1, 13) = 14
    S8(1, 14) = 9
    S8(1, 15) = 2
    S8(2, 0) = 7
    S8(2, 1) = 11
    S8(2, 2) = 4
    S8(2, 3) = 1
    S8(2, 4) = 9
    S8(2, 5) = 12
    S8(2, 6) = 14
    S8(2, 7) = 2
    S8(2, 8) = 0
    S8(2, 9) = 6
    S8(2, 10) = 10
    S8(2, 11) = 13
    S8(2, 12) = 15
    S8(2, 13) = 3
    S8(2, 14) = 5
    S8(2, 15) = 8
    S8(3, 0) = 2
    S8(3, 1) = 1
    S8(3, 2) = 14
    S8(3, 3) = 7
    S8(3, 4) = 4
    S8(3, 5) = 10
    S8(3, 6) = 8
    S8(3, 7) = 13
    S8(3, 8) = 15
    S8(3, 9) = 12
    S8(3, 10) = 9
    S8(3, 11) = 0
    S8(3, 12) = 3
    S8(3, 13) = 5
    S8(3, 14) = 6
    S8(3, 15) = 11
    
    PC_1(0) = 56 ' 57
    PC_1(1) = 48 ' 49
    PC_1(2) = 40 ' 41
    PC_1(3) = 32 ' 33
    PC_1(4) = 24 ' 25
    PC_1(5) = 16 ' 17
    PC_1(6) = 8 ' 9
    PC_1(7) = 0 ' 1
    PC_1(8) = 57 ' 58
    PC_1(9) = 49 ' 50
    PC_1(10) = 41 ' 42
    PC_1(11) = 33 ' 34
    PC_1(12) = 25 ' 26
    PC_1(13) = 17 ' 18
    PC_1(14) = 9 ' 10
    PC_1(15) = 1 ' 2
    PC_1(16) = 58 ' 59
    PC_1(17) = 50 ' 51
    PC_1(18) = 42 ' 43
    PC_1(19) = 34 ' 35
    PC_1(20) = 26 ' 27
    PC_1(21) = 18 ' 19
    PC_1(22) = 10 ' 11
    PC_1(23) = 2 ' 3
    PC_1(24) = 59 ' 60
    PC_1(25) = 51 ' 52
    PC_1(26) = 43 ' 44
    PC_1(27) = 35 ' 36
    PC_1(28) = 62 ' 63
    PC_1(29) = 54 ' 55
    PC_1(30) = 46 ' 47
    PC_1(31) = 38 ' 39
    PC_1(32) = 30 ' 31
    PC_1(33) = 22 ' 23
    PC_1(34) = 14 ' 15
    PC_1(35) = 6 ' 7
    PC_1(36) = 61 ' 62
    PC_1(37) = 53 ' 54
    PC_1(38) = 45 ' 46
    PC_1(39) = 37 ' 38
    PC_1(40) = 29 ' 30
    PC_1(41) = 21 ' 22
    PC_1(42) = 13 ' 14
    PC_1(43) = 5 ' 6
    PC_1(44) = 60 ' 61
    PC_1(45) = 52 ' 53
    PC_1(46) = 44 ' 45
    PC_1(47) = 36 ' 37
    PC_1(48) = 28 ' 29
    PC_1(49) = 20 ' 21
    PC_1(50) = 12 ' 13
    PC_1(51) = 4 ' 5
    PC_1(52) = 27 ' 28
    PC_1(53) = 19 ' 20
    PC_1(54) = 11 ' 12
    PC_1(55) = 3 ' 4
    
    PC_2(0) = 13 ' 14
    PC_2(1) = 16 ' 17
    PC_2(2) = 10 ' 11
    PC_2(3) = 23 ' 24
    PC_2(4) = 0 ' 1
    PC_2(5) = 4 ' 5
    PC_2(6) = 2 ' 3
    PC_2(7) = 27 ' 28
    PC_2(8) = 14 ' 15
    PC_2(9) = 5 ' 6
    PC_2(10) = 20 ' 21
    PC_2(11) = 9 ' 10
    PC_2(12) = 22 ' 23
    PC_2(13) = 18 ' 19
    PC_2(14) = 11 ' 12
    PC_2(15) = 3 ' 4
    PC_2(16) = 25 ' 26
    PC_2(17) = 7 ' 8
    PC_2(18) = 15 ' 16
    PC_2(19) = 6 ' 7
    PC_2(20) = 26 ' 27
    PC_2(21) = 19 ' 20
    PC_2(22) = 12 ' 13
    PC_2(23) = 1 ' 2
    PC_2(24) = 40 ' 41
    PC_2(25) = 51 ' 52
    PC_2(26) = 30 ' 31
    PC_2(27) = 36 ' 37
    PC_2(28) = 46 ' 47
    PC_2(29) = 54 ' 55
    PC_2(30) = 29 ' 30
    PC_2(31) = 39 ' 40
    PC_2(32) = 50 ' 51
    PC_2(33) = 44 ' 45
    PC_2(34) = 32 ' 33
    PC_2(35) = 47 ' 48
    PC_2(36) = 43 ' 44
    PC_2(37) = 48 ' 49
    PC_2(38) = 38 ' 39
    PC_2(39) = 55 ' 56
    PC_2(40) = 33 ' 34
    PC_2(41) = 52 ' 53
    PC_2(42) = 45 ' 46
    PC_2(43) = 41 ' 42
    PC_2(44) = 49 ' 50
    PC_2(45) = 35 ' 36
    PC_2(46) = 28 ' 29
    PC_2(47) = 31 ' 32
    
    Lsi(1) = 1
    Lsi(2) = 1
    Lsi(3) = 2
    Lsi(4) = 2
    Lsi(5) = 2
    Lsi(6) = 2
    Lsi(7) = 2
    Lsi(8) = 2
    Lsi(9) = 1
    Lsi(10) = 2
    Lsi(11) = 2
    Lsi(12) = 2
    Lsi(13) = 2
    Lsi(14) = 2
    Lsi(15) = 2
    Lsi(16) = 1
End Sub

'加密
'sCode 待加密字串
'sKey 密钥字串(前8位有效)
Public Sub DES_Encode(ByRef sCode() As Byte, ByVal sKey As String, ByRef bReturn() As Byte)
    'Attribute DES_Encode.VB_Description = "加密 sCode:明文16进制串 sKey:密钥文本,前8位有效 bReturn:密文16进制串"

    Dim tempKey() As Byte '存放密钥
    Dim BinKey(63) As Byte '64位二进制原始密钥
    Dim KeyPC_1(55) As Byte '存放56位密钥

⌨️ 快捷键说明

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