将一段只含大小写字母与空格,不含其它字符的字符串加密,加密算法描述如下
1)将明文中的字母E替换为A,F替换为B,G替换为C,…A替换为W,B替换为X,C替换为Y,…,小写字符的替换方法同理。
如:明文:I Love China 加密为:E Hkra Ydejw 2)将加密后的英文字母,按顺序依次放入每个字符串段落中,第1个加密字母E放在第1个段落,第2个字母H放在第2个段落,依次类推(如下图),段落间用逗号分隔并以逗号结尾。当遇到空格,在段落末尾“,”前,插入“+”号作为标记。 第1段 第2段 第3段 第4段 第5段 第6段 第7段 第8段 第9段 第10段 E+, H, k, r, a+, Y, d, e, j, w+, 3)每个段落中,随机插入字母形成新的字母序列段,当段号小于8时加密字母在字母序列 中存放位置刚好是该段落号,位置以8为周期,第9段时,加密字母存放位置回到字母序列的第1位,第10段加密字母存放位置回到第2位,依次类推。(位置号<=8) 第1段 第2段 第3段 第4段 第5段 Etc+, mHfryh, oTkrestf, rfir, Ccfta+, 第6段 第7段 第8段 第9段 第10段 iynhyYf, tqswjyd, nrtesiueh, jnytq, Uwccdb+, 4)在每一段中随机插入除英文字母之外的ASCII字符码,形成一串密文。如图所示:
(1)
若密文字符串为:“!@8G+*y/$#r~!s,f?[:a34c33!<e=w,123#r@/{t++*%&M2s7s,+h@f$5/j+*^e.?
i*,/6*+e$(c3~/:
p-)h->w%&3@w!@,4/*i#$@+m!j65&*(kr+^$k++k#l,”
则根据加密算法,解密后的明文为
(2)
为了寻找密文中隐藏的信息,小明编写了一段VB解密程序,代码如下,请在划线处填入合适的代码。
Private Sub Command1_Click()
Dim i As Integer, k As Integer
Dim s As String, c As String, ch As String
Dim letter As String, ret As String 'letter 用于存放字母序列s = Text1.Text
k = 1
For i = 1 To Len(s)
c = Mid(s, i, 1)
If c >= "A" And c <=
"Z" Or c >= "a" And c <= "z" Then letter =
letter + c
ElseIf
c = ","
Then
ch = Chr(Asc(ch) + 4)
If Not (ch >= "A" And
ch <= "Z" Or ch >= "a" And ch <= "z")
Then ch = Chr(Asc(ch) - 26)
End If
IfThen
ret = ret + ch + " "
Else
ret = ret + ch
End If
k = k + 1
End If
Next i
Text 2.Text = ret
End Sub
答案: 【1】KeQiao
【1】ch = Mid(letter, (k - 1) Mod 8 + 1 , 1)【2】Mid(s, i-1, 1) = "+"【3】letter = ""