题目

【加密与解密问题】某数据加密方法描述如下: ⑴以字节为单位进行加密处理; ⑵将1个字节的8位二进制数分割成前4位与后4位两个二进制数; ⑶分别将上述两个4位二进制数转换为十进制数; ⑷将每个十进制数转换为1个加密字符,对应的“密码表”如下: 值(十进制) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 加密字符 I l i k e C H N p o s t c a r d 小明按照上述方法,设计了一个字符串(仅包含ASCⅡ字符)加密的VB程序,功能如下:单击“加密”按钮Command1,程序依次将文本框Text1中每个字符的ASCⅡ码值作为1个字节转换为两个加密字符,连接这些加密字符,最后在文本框Text2中输出加密结果。下表展示了字符串中一个字符的加密过程: 实现上述功能的VB程序如下: 程序运行效果如图所示。 (1) 请在划线处填入合适的代码。 Private Sub Command1_Click ( ) Dim n As Integer, s As String, i As Integer, ss As String Dim a As Integer    ‘存储加密前字符的 ASCII码 Dim b1 As Integer, b2 As Integer    ‘分别存储分割、转换后的两个十进制数 s = Text1. Text n = Len (s) For i = 1 To n   a =     ①        b1 = a\16   b2 =a Mod 16   ss= ss + Code2 Char(b1) + Code2 Char(b2)   Text2. Text=ss Next i End Sub ‘十进制值转换为加密字符的函数 Function Code 2 Char(c As Integer) As string Dim s As String s = “IlikeCHNpostcard” Code2Char =     ②      End Function ① ②  (2) 若将“密码表”中值为“0”对应的加密字符“I”改成“i”,加密后的密文可能无法解密,原因是。 答案: 【1】ASC(mid(s, i, 1))【2】Mid(s, c+1, 1) 【1】i同时对应两个十进制数,不具备唯一性,无法解密。
信息技术 试题推荐
最近更新