充值活动已开启,快来参与吧 关闭充值活动
当前位置: 高中信息技术 / 算法与程序设计 / 算法及程序语言基础 / 算法的控制结构
  • 1. 对输人的明文(由英文字母或数字组成的字符串)进行加密,输出加密后得到的密文。数据加密方法为对明文中的每个字符进行如下处理:

    1)将该字符ASCI码转换成对应8位二进制;

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

    3)将产生的8位二进制数循环左移3次;

    4)最后产生的8位二进制数转换成对应的十六进制数。

    例如:明文大写字母“A”通过上述算法加密算法加密后生成的密文是“F5”,在文本框Text1中输入明文,单击“生成密文”按钮Command1,加密后生成的密文显示在文本框Text2中。

    1. (1) 如果输入明文为大写字母“F”,则生成的密文是
    2. (2) 请在划线处填入合适的代码。

      Function btoh(m As String)As String     ‘将4位二进制数转换成对应的十六进制数

      Dim s As Integer, i As Integer, 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

         ②    

      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

       ② ③