用VB实现DES加解密算法.docx
- 文档编号:9129248
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:126
- 大小:28.50KB
用VB实现DES加解密算法.docx
《用VB实现DES加解密算法.docx》由会员分享,可在线阅读,更多相关《用VB实现DES加解密算法.docx(126页珍藏版)》请在冰豆网上搜索。
用VB实现DES加解密算法
用VB实现DES加解密算法
用VB实现DES加解密算法
无忧IT网-软件开发(日期:
2005-8-11)
123下一页
(一)--定义
''DES加解密算法实现vb版v1.0
''
''作者:
agamem
''日期:
2003年08月27日
''
''
''
OptionExplicit
PrivateDeclareSubCopyMemoryLib"kernel32"Alias"RtlMoveMemory"(DestinationAsAny,SourceAsAny,ByValLengthAsLong)
''置换表
PrivateIP(63)AsByte''IP置换码
PrivateIP_1(63)AsByte''IP-1置换码
PrivateE(47)AsByte''E膨胀码
PrivateP(31)AsByte''P变换码
PrivateS1(3,15)AsByte''S盒1
PrivateS2(3,15)AsByte''S盒2
PrivateS3(3,15)AsByte''S盒3
PrivateS4(3,15)AsByte''S盒4
PrivateS5(3,15)AsByte''S盒5
PrivateS6(3,15)AsByte''S盒6
PrivateS7(3,15)AsByte''S盒7
PrivateS8(3,15)AsByte''S盒8
PrivatePC_1(55)AsByte
PrivatePC_2(47)AsByte
PrivateLsi(16)AsByte''循环左移位
PrivateSubClass_Initialize()
DimiAsInteger
IP(0)=57''58
IP
(1)=49''50
IP
(2)=41''42
IP(3)=33''34
IP(4)=25''26
IP(5)=17''18
IP(6)=9''10
IP(7)=1''2
IP(8)=59''60
IP(9)=51''52
IP(10)=43''44
IP(11)=35''36
IP(12)=27''28
IP(13)=19''20
IP(14)=11''12
IP(15)=3''4
IP(16)=61''62
IP(17)=53''54
IP(18)=45''46
IP(19)=37''38
IP(20)=29''30
IP(21)=21''22
IP(22)=13''14
IP(23)=5''6
IP(24)=63''64
IP(25)=55''56
IP(26)=47''48
IP(27)=39''40
IP(28)=31''32
IP(29)=23''24
IP(30)=15''16
IP(31)=7''8
IP(32)=56''57
IP(33)=48''49
IP(34)=40''41
IP(35)=32''33
IP(36)=24''25
IP(37)=16''17
IP(38)=8''9
IP(39)=0''1
IP(40)=58''59
IP(41)=50''51
IP(42)=42''43
IP(43)=34''35
IP(44)=26''27
IP(45)=18''19
IP(46)=10''11
IP(47)=2''3
IP(48)=60''61
IP(49)=52''53
IP(50)=44''45
IP(51)=36''37
IP(52)=28''29
IP(53)=20''21
IP(54)=12''13
IP(55)=4''5
IP(56)=62''63
IP(57)=54''55
IP(58)=46''47
IP(59)=38''39
IP(60)=30''31
IP(61)=22''23
IP(62)=14''15
IP(63)=6''7
IP_1(0)=39''40
IP_1
(1)=7''8
IP_1
(2)=47''48
IP_1(3)=15''16
IP_1(4)=55''56
IP_1(5)=23''24
IP_1(6)=63''64
IP_1(7)=31''32
IP_1(8)=38''39
IP_1(9)=6''7
IP_1(10)=46''47
IP_1(11)=14''15
IP_1(12)=54''55
IP_1(13)=22''23
IP_1(14)=62''63
IP_1(15)=30''31
IP_1(16)=37''38
IP_1(17)=5''6
IP_1(18)=45''46
IP_1(19)=13''14
IP_1(20)=53''54
IP_1(21)=21''22
IP_1(22)=61''62
IP_1(23)=29''30
IP_1(24)=36''37
IP_1(25)=4''5
IP_1(26)=44''45
IP_1(27)=12''13
IP_1(28)=52''53
IP_1(29)=20''21
IP_1(30)=60''61
IP_1(31)=28''29
IP_1(32)=35''36
IP_1(33)=3''4
IP_1(34)=43''44
IP_1(35)=11''12
IP_1(36)=51''52
IP_1(37)=19''20
IP_1(38)=59''60
IP_1(39)=27''28
IP_1(40)=34''35
IP_1(41)=2''3
IP_1(42)=42''43
IP_1(43)=10''11
IP_1(44)=50''51
IP_1(45)=18''19
IP_1(46)=58''59
IP_1(47)=26''27
IP_1(48)=33''34
IP_1(49)=1''2
IP_1(50)=41''42
IP_1(51)=9''10
IP_1(52)=49''50
IP_1(53)=17''18
IP_1(54)=57''58
IP_1(55)=25''26
IP_1(56)=32''33
IP_1(57)=0''1
IP_1(58)=40''41
IP_1(59)=8''9
IP_1(60)=48''49
IP_1(61)=16''17
IP_1(62)=56''57
IP_1(63)=24''25
E(0)=31
Fori=1To5
E(i)=i-1
Next
Fori=6To11
E(i)=i-3
Next
Fori=12To17
E(i)=i-5
Next
Fori=18To23
E(i)=i-7
Next
Fori=24To29
E(i)=i-9
Next
Fori=30To35
E(i)=i-11
Next
Fori=36To41
E(i)=i-13
Next
Fori=42To46
E(i)=i-15
Next
E(47)=30
P(0)=15''16
P
(1)=6''7
P
(2)=19''20
P(3)=20''21
P(4)=28''29
P(5)=11''12
P(6)=27''28
P(7)=16''17
P(8)=0''1
P(9)=14''15
P(10)=22''23
P(11)=25''26
P(12)=4''5
P(13)=17''18
P(14)=30''31
P(15)=9''10
P(16)=1''2
P(17)=7''8
P(18)=23''24
P(19)=13''14
P(20)=31''32
P(21)=26''27
P(22)=2''3
P(23)=8''9
P(24)=18''19
P(25)=12''13
P(26)=29''30
P(27)=5''6
P(28)=21''22
P(29)=10''11
P(30)=3''4
P(31)=24''25
S1(0,0)=14
S1(0,1)=4
S1(0,2)=13
S1(0,3)=1
S1(0,4)=2
S1(0,5)=15
S1(0,6)=11
S1(0,7)=8
S1(0,8)=3
S1(0,9)=10
S1(0,10)=6
S1(0,11)=12
S1(0,12)=5
S1(0,13)=9
S1(0,14)=0
S1(0,15)=7
S1(1,0)=0
S1(1,1)=15
S1(1,2)=7
S1(1,3)=4
S1(1,4)=14
S1(1,5)=2
S1(1,6)=13
S1(1,7)=1
S1(1,8)=10
S1(1,9)=6
S1(1,10)=12
S1(1,11)=11
S1(1,12)=9
S1(1,13)=5
S1(1,14)=3
S1(1,15)=8
S1(2,0)=4
S1(2,1)=1
S1(2,2)=14
S1(2,3)=8
S1(2,4)=13
S1(2,5)=6
S1(2,6)=2
S1(2,7)=11
S1(2,8)=15
S1(2,9)=12
S1(2,10)=9
S1(2,11)=7
S1(2,12)=3
S1(2,13)=10
S1(2,14)=5
S1(2,15)=0
S1(3,0)=15
S1(3,1)=12
S1(3,2)=8
S1(3,3)=2
S1(3,4)=4
S1(3,5)=9
S1(3,6)=1
S1(3,7)=7
S1(3,8)=5
S1(3,9)=11
S1(3,10)=3
S1(3,11)=14
S1(3,12)=10
S1(3,13)=0
S1(3,14)=6
S1(3,15)=13
S2(0,0)=15
S2(0,1)=1
S2(0,2)=8
S2(0,3)=14
S2(0,4)=6
S2(0,5)=11
S2(0,6)=3
S2(0,7)=4
S2(0,8)=9
S2(0,9)=7
S2(0,10)=2
S2(0,11)=13
S2(0,12)=12
S2(0,13)=0
S2(0,14)=5
S2(0,15)=10
S2(1,0)=3
S2(1,1)=13
S2(1,2)=4
S2(1,3)=7
S2(1,4)=15
S2(1,5)=2
S2(1,6)=8
S2(1,7)=14
S2(1,8)=12
S2(1,9)=0
S2(1,10)=1
S2(1,11)=10
S2(1,12)=6
S2(1,13)=9
S2(1,14)=11
S2(1,15)=5
S2(2,0)=0
S2(2,1)=14
S2(2,2)=7
S2(2,3)=11
S2(2,4)=10
S2(2,5)=4
S2(2,6)=13
S2(2,7)=1
S2(2,8)=5
S2(2,9)=8
S2(2,10)=12
S2(2,11)=6
S2(2,12)=9
S2(2,13)=3
S2(2,14)=2
S2(2,15)=15
S2(3,0)=13
S2(3,1)=8
S2(3,2)=10
S2(3,3)=1
S2(3,4)=3
S2(3,5)=15
S2(3,6)=4
S2(3,7)=2
S2(3,8)=11
S2(3,9)=6
S2(3,10)=7
S2(3,11)=12
S2(3,12)=0
S2(3,13)=5
S2(3,14)=14
S2(3,15)=9
S3(0,0)=10
S3(0,1)=0
S3(0,2)=9
S3(0,3)=14
S3(0,4)=6
S3(0,5)=3
S3(0,6)=15
S3(0,7)=5
S3(0,8)=1
S3(0,9)=13
S3(0,10)=12
S3(0,11)=7
S3(0,12)=11
S3(0,13)=4
S3(0,14)=2
S3(0,15)=8
S3(1,0)=13
S3(1,1)=7
S3(1,2)=0
S3(1,3)=9
S3(1,4)=3
S3(1,5)=4
S3(1,6)=6
S3(1,7)=10
S3(1,8)=2
S3(1,9)=8
S3(1,10)=5
S3(1,11)=14
S3(1,12)=12
S3(1,13)=11
S3(1,14)=15
S3(1,15)=1
S3(2,0)=13
S3(2,1)=6
S3(2,2)=4
S3(2,3)=9
S3(2,4)=8
S3(2,5)=15
S3(2,6)=3
S3(2,7)=0
S3(2,8)=11
S3(2,9)=1
S3(2,10)=2
S3(2,11)=12
S3(2,12)=5
S3(2,13)=10
S3(2,14)=14
S3(2,15)=7
S3(3,0)=1
S3(3,1)=10
S3(3,2)=13
S3(3,3)=0
S3(3,4)=6
S3(3,5)=9
S3(3,6)=8
S3(3,7)=7
S3(3,8)=4
S3(3,9)=15
S3(3,10)=14
S3(3,11)=3
S3(3,12)=11
S3(3,13)=5
S3(3,14)=2
S3(3,15)=12
S4(0,0)=7
S4(0,1)=13
S4(0,2)=14
S4(0,3)=3
S4(0,4)=0
S4(0,5)=6
S4(0,6)=9
S4(0,7)=10
S4(0,8)=1
S4(0,9)=2
S4(0,10)=8
S4(0,11)=5
S4(0,12)=11
S4(0,13)=12
S4(0,14)=4
S4(0,15)=15
S4(1,0)=13
S4(1,1)=8
S4(1,2)=11
S4(1,3)=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,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 实现 DES 解密 算法