📄 mdllogin.bas
字号:
'分行科级可阅总行发文,按主办部门控制
If .Branch_ID = 1001 And .Level_ID < "3001" And .Branch_ID = GblRdoRes.rdoColumns("branch_id") Then
Check_File_Default_Permission = 1
Exit Function
End If
Case Else
Check_File_Default_Permission = 0
End Select
End With
Check_File_Default_Permission = True
Exit Function
Err:
Check_File_Default_Permission = 0
End Function
'des加密算法
Public Function Des(ByVal s_s As String, ByVal i_i As Long, ByVal flg As Integer) As String
On Error GoTo Err
Dim Result, r As String
Dim tempinkey As String * 8
Dim bufout(0 To 63), kwork(0 To 55), worka(0 To 47), kn(0 To 47), buffer(0 To 63), key(0 To 63), _
Shift(0 To 15), Binary(0 To 63), nbrofshift, temp1, temp2 As Byte
Dim valindex As Integer
Dim i, j, k, iter As Integer
Dim ss
Static s1(0 To 3, 0 To 15), s2(0 To 3, 0 To 15), s3(0 To 3, 0 To 15), s4(0 To 3, 0 To 15), _
s5(0 To 3, 0 To 15), s6(0 To 3, 0 To 15), s7(0 To 3, 0 To 15), s8(0 To 3, 0 To 15) As Byte
' INITIALIZE THE SOURCE,DEST,INKEY
tempinkey = dd(i_i * 23 Mod 65536)
For i = 0 To 7
inkey(i) = Asc(Mid(tempinkey, i + 1, 1))
Next i
For i = 1 To Len(s_s)
source(i - 1) = Asc(Mid(s_s, i, 1))
Next i
For i = Len(s_s) To 7
source(i) = 0
Next i
For i = 0 To 7
dest(i) = 0
Next i
' /* INITIALIZE THE TABLES */
' /* Table - s1 */
ss = Array( _
14, 4, 13, 1, 2, 15, 11, 8, 3, 10, 6, 12, 5, 9, 0, 7, _
0, 15, 7, 4, 14, 2, 13, 1, 10, 6, 12, 11, 9, 5, 3, 8, _
4, 1, 14, 8, 13, 6, 2, 11, 15, 12, 9, 7, 3, 10, 5, 0, _
15, 12, 8, 2, 4, 9, 1, 7, 5, 11, 3, 14, 10, 0, 6, 13)
For j = 0 To 3
For i = 0 To 15
s1(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s2 */
ss = Array( _
15, 1, 8, 14, 6, 11, 3, 4, 9, 7, 2, 13, 12, 0, 5, 10, _
3, 13, 4, 7, 15, 2, 8, 14, 12, 0, 1, 10, 6, 9, 11, 5, _
0, 14, 7, 11, 10, 4, 13, 1, 5, 8, 12, 6, 9, 3, 2, 15, _
13, 8, 10, 1, 3, 15, 4, 2, 11, 6, 7, 12, 0, 5, 14, 9)
For j = 0 To 3
For i = 0 To 15
s2(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s3 */
ss = Array( _
10, 0, 9, 14, 6, 3, 15, 5, 1, 13, 12, 7, 11, 4, 2, 8, _
13, 7, 0, 9, 3, 4, 6, 10, 2, 8, 5, 14, 12, 11, 15, 1, _
13, 6, 4, 9, 8, 15, 3, 0, 11, 1, 2, 12, 5, 10, 14, 7, _
1, 10, 13, 0, 6, 9, 8, 7, 4, 15, 14, 3, 11, 5, 2, 12)
For j = 0 To 3
For i = 0 To 15
s3(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s4 */
ss = Array( _
7, 13, 14, 3, 0, 6, 9, 10, 1, 2, 8, 5, 11, 12, 4, 15, _
13, 8, 11, 5, 6, 15, 0, 3, 4, 7, 2, 12, 1, 10, 14, 9, _
10, 6, 9, 0, 12, 11, 7, 13, 15, 1, 3, 14, 5, 2, 8, 4, _
3, 15, 0, 6, 10, 1, 13, 8, 9, 4, 5, 11, 12, 7, 2, 14)
For j = 0 To 3
For i = 0 To 15
s4(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s5 */
ss = Array( _
2, 12, 4, 1, 7, 10, 11, 6, 8, 5, 3, 15, 13, 0, 14, 9, _
14, 11, 2, 12, 4, 7, 13, 1, 5, 0, 15, 10, 3, 9, 8, 6, _
4, 2, 1, 11, 10, 13, 7, 8, 15, 9, 12, 5, 6, 3, 0, 14, _
11, 8, 12, 7, 1, 14, 2, 13, 6, 15, 0, 9, 10, 4, 5, 3)
For j = 0 To 3
For i = 0 To 15
s5(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s6 */
ss = Array( _
12, 1, 10, 15, 9, 2, 6, 8, 0, 13, 3, 4, 14, 7, 5, 11, _
10, 15, 4, 2, 7, 12, 9, 5, 6, 1, 13, 14, 0, 11, 3, 8, _
9, 14, 15, 5, 2, 8, 12, 3, 7, 0, 4, 10, 1, 13, 11, 6, _
4, 3, 2, 12, 9, 5, 15, 10, 11, 14, 1, 7, 6, 0, 8, 13)
For j = 0 To 3
For i = 0 To 15
s6(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s7 */
ss = Array( _
4, 11, 2, 14, 15, 0, 8, 13, 3, 12, 9, 7, 5, 10, 6, 1, _
13, 0, 11, 7, 4, 9, 1, 10, 14, 3, 5, 12, 2, 15, 8, 6, _
1, 4, 11, 13, 12, 3, 7, 14, 10, 15, 6, 8, 0, 5, 9, 2, _
6, 11, 13, 8, 1, 4, 10, 7, 9, 5, 0, 15, 14, 2, 3, 12)
For j = 0 To 3
For i = 0 To 15
s7(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - s8 */
ss = Array( _
13, 2, 8, 4, 6, 15, 11, 1, 10, 9, 3, 14, 5, 0, 12, 7, _
1, 15, 13, 8, 10, 3, 7, 4, 12, 5, 6, 11, 0, 14, 9, 2, _
7, 11, 4, 1, 9, 12, 14, 2, 0, 6, 10, 13, 15, 3, 5, 8, _
2, 1, 14, 7, 4, 10, 8, 13, 15, 12, 9, 0, 3, 5, 6, 11)
For j = 0 To 3
For i = 0 To 15
s8(j, i) = ss(j * 16 + i)
Next i
Next j
' /* Table - Shift */
ss = Array(1, 1, 2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1)
For i = 0 To 15
Shift(i) = ss(i)
Next i
' /* Table - Binary */
ss = Array( _
0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, _
0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, _
1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, _
1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1)
For i = 0 To 63
Binary(i) = ss(i)
Next i
' /* MAIN PROCESS */
' /* Convert from 64-bit key into 64-byte key */
For i = 0 To 7
j = inkey(i)
key(8 * i) = (j \ 128) Mod 2
key(8 * i + 1) = (j \ 64) Mod 2
key(8 * i + 2) = (j \ 32) Mod 2
key(8 * i + 3) = (j \ 16) Mod 2
key(8 * i + 4) = (j \ 8) Mod 2
key(8 * i + 5) = (j \ 4) Mod 2
key(8 * i + 6) = (j \ 2) Mod 2
key(8 * i + 7) = j Mod 2
Next i
' /* Convert from 64-bit data into 64-byte data */
For i = 0 To 7
j = source(i)
buffer(8 * i) = (j \ 128) Mod 2
buffer(8 * i + 1) = (j \ 64) Mod 2
buffer(8 * i + 2) = (j \ 32) Mod 2
buffer(8 * i + 3) = (j \ 16) Mod 2
buffer(8 * i + 4) = (j \ 8) Mod 2
buffer(8 * i + 5) = (j \ 4) Mod 2
buffer(8 * i + 6) = (j \ 2) Mod 2
buffer(8 * i + 7) = j Mod 2
Next i
' /* Initial Permutation of Data */
bufout(0) = buffer(57)
bufout(1) = buffer(49)
bufout(2) = buffer(41)
bufout(3) = buffer(33)
bufout(4) = buffer(25)
bufout(5) = buffer(17)
bufout(6) = buffer(9)
bufout(7) = buffer(1)
bufout(8) = buffer(59)
bufout(9) = buffer(51)
bufout(10) = buffer(43)
bufout(11) = buffer(35)
bufout(12) = buffer(27)
bufout(13) = buffer(19)
bufout(14) = buffer(11)
bufout(15) = buffer(3)
bufout(16) = buffer(61)
bufout(17) = buffer(53)
bufout(18) = buffer(45)
bufout(19) = buffer(37)
bufout(20) = buffer(29)
bufout(21) = buffer(21)
bufout(22) = buffer(13)
bufout(23) = buffer(5)
bufout(24) = buffer(63)
bufout(25) = buffer(55)
bufout(26) = buffer(47)
bufout(27) = buffer(39)
bufout(28) = buffer(31)
bufout(29) = buffer(23)
bufout(30) = buffer(15)
bufout(31) = buffer(7)
bufout(32) = buffer(56)
bufout(33) = buffer(48)
bufout(34) = buffer(40)
bufout(35) = buffer(32)
bufout(36) = buffer(24)
bufout(37) = buffer(16)
bufout(38) = buffer(8)
bufout(39) = buffer(0)
bufout(40) = buffer(58)
bufout(41) = buffer(50)
bufout(42) = buffer(42)
bufout(43) = buffer(34)
bufout(44) = buffer(26)
bufout(45) = buffer(18)
bufout(46) = buffer(10)
bufout(47) = buffer(2)
bufout(48) = buffer(60)
bufout(49) = buffer(52)
bufout(50) = buffer(44)
bufout(51) = buffer(36)
bufout(52) = buffer(28)
bufout(53) = buffer(20)
bufout(54) = buffer(12)
bufout(55) = buffer(4)
bufout(56) = buffer(62)
bufout(57) = buffer(54)
bufout(58) = buffer(46)
bufout(59) = buffer(38)
bufout(60) = buffer(30)
bufout(61) = buffer(22)
bufout(62) = buffer(14)
bufout(63) = buffer(6)
' /* Initial Permutation of Key */
kwork(0) = key(56)
kwork(1) = key(48)
kwork(2) = key(40)
kwork(3) = key(32)
kwork(4) = key(24)
kwork(5) = key(16)
kwork(6) = key(8)
kwork(7) = key(0)
kwork(8) = key(57)
kwork(9) = key(49)
kwork(10) = key(41)
kwork(11) = key(33)
kwork(12) = key(25)
kwork(13) = key(17)
kwork(14) = key(9)
kwork(15) = key(1)
kwork(16) = key(58)
kwork(17) = key(50)
kwork(18) = key(42)
kwork(19) = key(34)
kwork(20) = key(26)
kwork(21) = key(18)
kwork(22) = key(10)
kwork(23) = key(2)
kwork(24) = key(59)
kwork(25) = key(51)
kwork(26) = key(43)
kwork(27) = key(35)
kwork(28) = key(62)
kwork(29) = key(54)
kwork(30) = key(46)
kwork(31) = key(38)
kwork(32) = key(30)
kwork(33) = key(22)
kwork(34) = key(14)
kwork(35) = key(6)
kwork(36) = key(61)
kwork(37) = key(53)
kwork(38) = key(45)
kwork(39) = key(37)
kwork(40) = key(29)
kwork(41) = key(21)
kwork(42) = key(13)
kwork(43) = key(5)
kwork(44) = key(60)
kwork(45) = key(52)
kwork(46) = key(44)
kwork(47) = key(36)
kwork(48) = key(28)
kwork(49) = key(20)
kwork(50) = key(12)
kwork(51) = key(4)
kwork(52) = key(27)
kwork(53) = key(19)
kwork(54) = key(11)
kwork(55) = key(3)
' /* 16 Iterations */
For iter = 1 To 16
For i = 0 To 31
buffer(i) = bufout(32 + i)
Next i
' /* Calculation of F(R, K) */
' /* Permute - E */
worka(0) = buffer(31)
worka(1) = buffer(0)
worka(2) = buffer(1)
worka(3) = buffer(2)
worka(4) = buffer(3)
worka(5) = buffer(4)
worka(6) = buffer(3)
worka(7) = buffer(4)
worka(8) = buffer(5)
worka(9) = buffer(6)
worka(10) = buffer(7)
worka(11) = buffer(8)
worka(12) = buffer(7)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -