瑞星卡卡安全论坛技术交流区系统软件 用vb的来帮一下忙!(有关写密文的).(2)

12   1  /  2  页   跳转

用vb的来帮一下忙!(有关写密文的).(2)

用vb的来帮一下忙!(有关写密文的).(2)

上次发了一个帖子(http://forum.ikaka.com/topic.asp?board=55&artid=6569515),托逍遥大哥的福解决了,但现在有个新问题.
因为换算的数字还要经过计算,但我在处理时,一遇到标点符号就出错.不知哪位大哥给个方法.
注:
将计算出来的数字重新转为英文时,虽然每次的计算方法不同,但我可以保证计算出的数字在1到26之间.标点,空格不需转换.

哪位高手给个答案,谢谢!
最后编辑2005-08-01 22:34:29
分享到:
gototop
 

别沉了!这里的人不喜欢帮忙吗?

附件附件:

下载次数:0
文件类型:image/pjpeg
文件大小:
上传时间:2005-7-11 17:08:42
描述:



gototop
 

对不起,我测试过上次那代码,标点符号并没有出问题。

但对你这种密码可靠性怀疑:如密文111 , 到底原文是aaa,还是ak ?应该对小于10的数加个0才对
gototop
 

这样你要改一下,将小于10的数字前加个0。不然就会出现上楼所说的情况。

反过来的问题其它在你上面一贴中已经有答案了。你自己看一下吧。

gototop
 

不好意思,可能我的意思大家没理解.我的思路是:
首先读入信息,例如输入"abc."(不带引号),将其转换为数字"123."然后对数字单独进行计算,首先是1,例如将1转为了5,再对2进行转换4,3变为6.即"123."变成了"546."(标点不算)再将换好得数字重新变为英文"edf.".
由上,"abc."变成了"edf."


对了,『逍遥』大哥,可以拜你为师么???
gototop
 

我看你这种方案的Bug实在多,如果原文中也有数字,那又要出错了。

另外你说“abc”变成了“edf”,然后又怎么样呢,这点应该简单。最后还是要还原吧。

要做到你说的转换,只需改掉程序中红色的一行即可。
Private Sub Command1_Click()
    Text2.Text = ""
    A = (Len(Text1.Text))
   
    For B = 1 To A Step 1
        C = UCase(Mid(Text1.Text, B, 1))
       
        D = Asc(C) - 64
       
        If (D <= 26 And D >= 1) Then
            E = D
        Else
            If D = (-32) Then
                E = " "
            Else
                E = C
            End If
        End If
        Text2.Text = Text2.Text & E
    Next B
End Sub
gototop
 

怎样把对应的数字转为字母啊???高手!告诉我啊!
gototop
 

还没给答案就沉了。来人啊!!!!!
gototop
 

咳,我觉得如果就这样就给出答案,对你VB入门一点好处都没有。
gototop
 

引用:
【怪物125号的贴子】咳,我觉得如果就这样就给出答案,对你VB入门一点好处都没有。
...........................

求你了,大哥!,给个答案吧.
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT