题目

在数据加密过程中,为了防止加密方法外泄,往往使用密钥,只有掌握了密钥才能正确加密、解密。某信息加密VB程序,对输入的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。该程序使用的密钥是一个2位十进制数。数据加密方法对明文中的每个字符进行如下处理: ①将该字符的ASCII码加密钥后,转换成对应的8位二进制; ②将对应的8位二进制数进行按位取反(1变0,0变1); ③将最后产生的8位二进制数转换成对应的十六进制数; ④将得到的十六进制数码交换顺序后连接,即为该明文的密文。 例如,明文大写字母“A",输入的密钥数值为25,得到的密文为5A,信息加密过程如图所示。 小李编写了加密算法的VB程序,在文本框Text1中输入明文,单击“加密”按钮Command1。程序对明文数据依次进行加密处理,加密后生成的密文将显示在文本框Text2中。程序运行界面如图所示。 (1) 如果输入的明文为大写字母“F",密钥为16,则生成的密文是。 (2) 实现上述功能的VB程序如下,请在画线处填入合适的代码。 Function btoh(m As String)As String     ‘将4位二进制数转换成对应的十六进制数   Dim s As Integer, i As Integer   Dim st As String   st="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,ch,s,ret,s1,s2 As String   Dim a,b,c As Integer   s= Text1.Text   c= Val(Text2.Text)   For i = 1 To Len(s)       ch=Mid(s,i,1)   ‘取出第i个字符存入变量ch       a=Asc(ch)       b=a+c       ret = " "       For m=1 To 8             ‘完成加密步骤①和步骤②           n=(b+1)Mod 2           ret =str(n)+ ret              ②          Next m       s1 = btoh(Mid(ret,1,4))    ‘完成加密步骤③和步骤④       s2 = btoh(Mid(ret,5,4))       ans=ans +s2+s1   Next i   Text3.Text=ans End Sub 以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②。 答案: 【1】9A 【1】btoh=mid(st,s+1,1)【2】b=b\2
信息技术 试题推荐