当前位置: 高中信息技术 / 综合题
  • 1. (2021高三上·杭州期中) 某信息仅包含大写字母,字符数不超过n*n(n*n 为密钥矩阵规模,n<10),加密过程如下:

    根据上述加密算法编写解密程序。程序在启动时读取密钥矩阵存入数组a 中,在文本框Text1

    中输入密文,点击“解密”按钮,在文本框Text2 中显示明文。运行界面如图c 所示。

    1. (1) 在文本框text1 中输入的密文是“8,1,23,2,17,3,33,4,”,则原文是(密钥矩阵按图a 中的密钥矩阵)
    2. (2) 实现上述算法的VB 程序如下,请在划线处填入合适的代码。

      Const n = 3

      Dim a(1 To n * n) As Integer

      Private Sub Command1_Click()

          Dim mw(1 To 2*n*n) As Integer

          '存储密文数据,奇数位存储加密值,偶数位存储该数据在原文中的位置

          Dim yw(1 To n*n) As Integer         '存储解密数据

          Dim k As Integer

          '生成规模为n*n 的密钥矩阵存入数组a中,代码略

          For i = 1 To Len(Text1.Text)

              c = Mid(Text1.Text, i, 1)

              If c <> "," Then

                  t = t * 10 + Val(c)

              Else

                 

                  mw(k) = Val(t): t = 0

              End If

          Next i

          For i = 1 To k\2      '对密文解密,结果存数组yw

              yw(mw(2 * i)) =

          Next i

          s = ""

          For i = 1 To k\2

              s = s + Chr((yw(i)) + 64)

          Next i

          Text2.Text = s

      End Sub

      Function getmm(x As Integer, n As Integer)

          col = (x - 1) Mod n + 1

          row = (x - 1) \ n + 1

          getmm = a((col - 1) * n + row)

          If row Mod 2 = 0 Then getmm =

      End Function

微信扫码预览、分享更方便