求凯撒密码的VB代码

来源:百度知道 编辑:UC知道 时间:2024/09/23 05:27:04
要求在是能在不同密钥下解密的就行,不要贴那些关于它的介绍,贴可用的代码即可。
具体要求是:主窗体一个label写着“密文”,一个文本框用来输入密文,要求密文输入可不超过10个字母,一个命令按纽解密,要求在文本框中输入密文后,点解密按纽即弹出对一对话框。对话框上写着“明文:xxxxxx”“密钥是:x”,然后两个命令按钮,一个是next,一个是end,当点next时希望密钥能够从1到26的变化,而明文也随之变化。
已描述得相当清楚了,希望大家能帮忙,谢谢~
楼下的代码不行啊,麻烦修改一下

怎么可能,在我电脑上试着都行.
两个按钮,Command1是开始加密,Command2是密钥加1
按你说的三个文件框,Text1里是原文,Text2里是密钥,Text3是输出密文
我刚刚又试了一下,绝对可以.

Private Function f(ByVal a As String, k As Integer) As String
If ((Asc(a) >= 65 And Asc(a) <= 90)) And Len(a) = 1 Then
If ((Asc(a) - k Mod 26) < 65) Then
m = Asc(a) - k Mod 26 + 26
f = Chr(m + 32)
Else
f = Chr(Asc(a) - k Mod 26 + 32)
End If
End If
End Function

'解密
Private Sub Command1_Click()
Dim shuchu As String
Dim k As Integer
Dim n As Integer
Dim i As Long
Dim tmp As String
If Not IsNumeric(Text2.Text) Then
MsgBox "输入的密钥应为数字!", 64, "提示"
Text2.Text = ""
Else
k = Text2.Text
End If
shuru = Text1.Text
For i = 1 To Len(shuru)
tmp = Mid(shuru, i, 1)
tmp = f(tmp, k)
If tmp