充值活动已开启,快来参与吧 关闭充值活动
当前位置: 高中信息技术 /
  • 1. 在数据加密过程中,为了防止加密方法外泄,往往使用密钥,只有掌握了密钥才能正确加密、解密。某信息加密VB程序,对输入的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。该程序使用的密钥是一个2位十进制数。数据加密方法对明文中的每个字符进行如下处理:

    ①将该字符的ASCII码加密钥后,转换成对应的8位二进制;

    ②将对应的8位二进制数进行按位取反(1变0,0变1);

    ③将最后产生的8位二进制数转换成对应的十六进制数;

    ④将得到的十六进制数码交换顺序后连接,即为该明文的密文。

    例如,明文大写字母“A",输入的密钥数值为25,得到的密文为5A,信息加密过程如图所示。

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

    1. (1) 如果输入的明文为大写字母“F",密钥为16,则生成的密文是
    2. (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

      以上程序段运行时,为了实现上述功能,画线处应填入的代码分别为:①;②