(1)将明文中每个字符的八位二进制ASCII码(不足8位左端补0,凑足8位)分成2段,左4位为高位段,右4位为低位段,如字符“C”的二进制ASCII码值为01000011,分段后0100和0011;
(2)将高位段左移一位,将原第一位数移至第4位(如0100转化为1000),再将其转化为十六进制数(如1000转化为8);
(3)对低位段执行(2)相同的算法,如001101106
(4)顺次连接两位十六进制数,得到该字符的密文,如“C”的密文为“86”;
(5)将每个字符的密文按照明文的顺序连接。
小方按照上述方法,设计一个字符串解密的VB程序,功能如下:在文本框Text1中输入密文,单击“解密”按钮Command1,程序依次将密文中每两个字符转换为一个明文字符,并将解密结果输出在文本框Text2中。程序运行效果如图所示。

(1)按照解密方法,密文“88”对应的明文字符是
(2)实现上述功能的VB程序如下,请在划线处填入合适代码。
Private Sub Command1_Click()
Dim a(15) As String
Dim pwd As String, i As Integer
Dim p1 As String, p2 As String
Dim st As String, pla As String
a(0) = "0000": a(1) = "0001": a(2) = "0010": a(3) = "0011"
a(4) = "0100": a(5) = "0101": a(6) = "0110": a(7) = "0111"
a(8) = "1000": a(9) = "1001": a(10) = "1010": a(11) = "1011"
a(12) = "1100": a(13) = "1101": a(14) = "1110": a(15) = "1111"
pwd = Text1.Text
st = "": pla = ""
Do While i <= Len(pwd)
p1 = Mid(pwd, i - 1, 1)
p2 = Mid(pwd, i, 1)
st = Mid(st, 4, 1) + Mid(st, 1, 3) + Mid(st, 8, 1) + Mid(st, 5, 3)
pla = pla + Chr(btod(st))
i = i + 2
Loop
Text2.Text = pla
End Sub
Function seat(x As String) As Integer
If x >= "A" And x <= "F" Then
seat = Asc(x) - Asc("A") + 10
Else
seat = Val(x)
End If
End Function
Function btod(y As String) As Integer '将8位二进制数转换为十进制数
Dim da As Integer, i As Integer, ch As String
da = 0
For i = 1 To 8
ch = Mid(y, i, 1)
Next i
btod = da
End Function

同类型试题

y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2


y = sin x, x∈R, y∈[–1,1],周期为2π,函数图像以 x = (π/2) + kπ 为对称轴
y = arcsin x, x∈[–1,1], y∈[–π/2,π/2]
sin x = 0 ←→ arcsin x = 0
sin x = 1/2 ←→ arcsin x = π/6
sin x = √2/2 ←→ arcsin x = π/4
sin x = 1 ←→ arcsin x = π/2

