标题:密文VB问题求助,
只看楼主
爱上学习
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-2-10
结帖率:0
已结贴  问题点数:20 回复次数:1 
密文VB问题求助,
将一段只含大小写字母与空格,不含其它字符的字符串加密,加密算法描述如下
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个段落,依次类推(如下图),段落间用逗号分隔并以逗号结尾。当遇到空格,在段落末尾“,”前,插入“+”号作为标记。

3.每个段落中,随机插入字母形成新的字母序列段,当段号小于8时加密字母在字母序列中存放位置刚好是该段落号,位置以8为周期,第9段时,加密字母存放位置回到字母序列的第1位,第10段加密字母存放位置回到第2位,依次类推。(位置号<=8)

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
  If         ②          Then
      ret = ret + ch + " "
    Else
      ret = ret + ch
    End If
        ③      
    k = k + 1
  End If
Next i
Text2.Text = ret
End Sub
搜索更多相关主题的帖子: If 替换 ret 字母 加密 
2020-02-10 17:07
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:20 
1,ch=mid(letter,k,1)
2,left(letter,1)="+"
3,letter=""

运行结果是:KeQiao

能编个毛线衣吗?
2020-02-12 19:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-499177-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.371558 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved