题库 高中信息

题干

编写VB程序,实现如下功能:在文本框Text1 输入字母字符串,单击“加密”按钮Command1,字符进行逐个加密,加密过程是,先在“密码本”m中找到相应字符,再从Text3中得到其所对应位置的密钥,并在文本框Text2中显示密文(运行效果如下图所示)。本题暂时不考虑解密问题。实现上述功能的VB代码如下:

请在划线处填入合适代码。
Private SubCommand1_Click()
Dim s As String, m As String
Dim t As String
Dim k As String
Dim c As Integer
s = Text1.Text
n1 = Len(s)
s3 = Text3.Text
n3 = Len(s3)
If n3 < 26 Then
Label1.Caption = "请重新输入密钥!"
Text3.Text = ""
Exit Sub
End If
m = "abcdefghijklmnopqrstuvwxyz"
For i =" 1" To n1
k =" Mid(s," i, 1)
If Then    '将大写字母转换为小写
k =" Chr(Asc(k)" + 32)
End If
c = 1
Do While c <= Len(m)
If k =" Mid(m," c, 1) Then
Exit Do
End If

Loop
t =" t" +
Next i
Text2.Text = t
End Sub
上一题 下一题 0.99难度 填空题 更新时间:2017-02-15 05:47:49

答案(点此获取答案解析)

同类题3

某信息加密程序,对输入的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。
数据加密方法为对明文中的每个字符进行如下处理:
1)将该字符的ASCII码转换成对应的8位二进制;
2)将对应的8位二进制数进行按位取反(1变0,0变1);
3)将产生的8位二进制数循环左移3次;

4)最后产生的8位二进制数转换成对应的十六进制数。
例如,明文大写字母“A”通过上述算法加密算法加密后生成的密文是“F5”,信息加密过程如图所示。

小李编写了加密算法的VB程序,在文本框Text1中输入明文,单击“生成密文”按钮Command1,程序对明文数据依次进行加密处理,加密后生成的密文显示在文本框Text2中。程序运行界面如下图所示。

(1)如果输入明文为大写字母“F”,则生成的密文是__________。
(2)实现上述功能的VB程序如下。请在划线处填入合适代码。
Function btoh(m As String) As String    '将4位二进制数转换成对应的十六进制数
Dim s As Integer, i As Integer
Dim str As String
str = "0123456789ABCDEF"
s = 0
For i = 1 To 4
s = s * 2 + Val(Mid(m, i, 1))
Next i
___________ 
End Function
Private Sub Command1_Click()
Dim ans As String, s As String, ch As String, ret As String
Dim i As Integer, asc1 As Integer, n As Integer
s = Text1.Text
ans = ""
For i = 1 To Len(s)
ch = Mid(s, i, 1) '取出第i个字符存入变量ch
asc1 = Asc(ch)
ret = ""
For m = 1 To 8    '完成加密步骤1)和步骤2)
n = (asc1+1) mod 2
ret = n + ret
___________
Next m
ret = Mid(ret, 4, 5) + Mid(ret, 1, 3)  '完成加密步骤3)和步骤4)
s1 = btoh(Mid(ret, 1, 4))
s2 = btoh(Mid(ret, 5, 4))
ans = ans + s1 + s2 '将第i个加密后的字符添加到变量ans的末尾
Next i
Text2.Text = ans
End Sub