使用VB作出加密,解密并显示密钥

1.从键盘输入一串字符,将其进行加密并显示密文2.从键盘输入一串密文,将其进行解密并显示明文最高输入50个字符就是这个样子的用lenmidchrasc函数做出来谢谢~... 1.从键盘输入一串字符,将其进行加密并显示密文 2.从键盘输入一串密文,将其进行解密并显示明文 最高输入50个字符
就是这个样子的 用len mid chr asc 函数做出来 谢谢~
展开
 我来答
zgwxm
2011-12-28 · TA获得超过2.1万个赞
知道大有可为答主
回答量:3567
采纳率:87%
帮助的人:2609万
展开全部
'这是我以前回答别人提问时写的,添加三个文本框,一个按钮。text3文本框中输入要加密的
'文本,在text2中是加密的文本,在text1中是对加密的文本解密。加密和解密用同一个
'过程'Private Function JiaMi(a As String) As String

Private Sub Command1_Click()
Dim a As String
Dim b As String
a = Text3
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text2 = b
a = Text2
b = ""
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text1 = b
End Sub
Private Function JiaMi(a As String) As String
Dim IntAsc As Integer
IntAsc = Asc(a)
If IntAsc Mod 2 Then
IntAsc = IntAsc + 47
If IntAsc > 126 Then IntAsc = IntAsc - 47
Else
IntAsc = IntAsc - 47
If IntAsc < 33 Then IntAsc = IntAsc + 47
End If
JiaMi = Chr(IntAsc)
End Function
追问
不好意思啊,,我是VB初学者  可是你上面写的我不懂额。。能换种写法吗?谢谢 用Chr Mid len这些函数做的  谢谢
追答
代码里面主要用了两个函数:Asc()和Chr()(一楼的也用了。告诉你,不用这两个函数是不行的)。Asc()返回一个代表字符串中首字母的字符代码,比如print Asc("Dgd") 结果 68 ;print Asc("dgd")结果 100。而chr() 返回其中包含有与指定的字符代码相关的字符。比如print chr(100)结果d;Print chr(68)结果D
mR_FRkWN
2011-12-28 · 超过27用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:84.9万
展开全部
输入text1 输出text2 text1的MaxLength设为50
Private Sub Command1_Click()
Dim i as Integer
For i=0 To Len(Text1.Text)-1
Text2.Text=Text2.Text & Chr(Asc(Mid(Text1.Text,i))+1)
Next
End Sub
加密方法是把每个字母的键码加1
解密只需要把上面的text1和text2对换,asc(...)+1替换为-1即可

很久没用过vb了,Mid()的定位方法不是很确定,但思路应该没问题,望采纳
追问
我是初学者  能把全部代码告诉我下吗  谢谢    &符号我们还没学到的 所以麻烦你修改下 谢谢
追答
&连接字符的作用相当于+,你如果不懂的话可以全部换成+。
另外如果你是要做作业的话,我可以很负责任地告诉你,如果要求“仅用那几个函数,严禁使用其他没学过的东西”这题是做不出来的。你所说的“没学到”的都是很基本的用法,不可能不让用,也不可能不用它而写出更简单的做法,请你自己理解。我没法给出更好懂的修改版,学习是要靠自己努力的,希望楼主采纳。

command1是加密按钮
Private Sub Command1_Click()
Dim i as Integer
For i=1 To Len(Text1.Text)
Text2.Text=Text2.Text & Chr(Asc(Mid(Text1.Text,i))+1)
Next
End Sub

command2是解密按钮
Private Sub Command2_Click()
Dim i as Integer
For i=1 To Len(Text2.Text)
Text1.Text=Text1.Text & Chr(Asc(Mid(Text2.Text,i,1))-1)
Next
End Sub

再次提醒,不可能换种写法更好懂了。学习要靠自己理解。加油
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友450802a1c
2011-12-28
知道答主
回答量:87
采纳率:0%
帮助的人:28.5万
展开全部
Private Sub Command1_Click()
Dim a As String
Dim b As String
a = Text3
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text2 = b
a = Text2
b = ""
For i = 1 To Len(a)
b = b & JiaMi(Mid(a, i, 1))
Next i
Text1 = b
End Sub
Private Function JiaMi(a As String) As String
Dim IntAsc As Integer
IntAsc = Asc(a)
If IntAsc Mod 2 Then
IntAsc = IntAsc + 47
If IntAsc > 126 Then IntAsc = IntAsc - 47
Else
IntAsc = IntAsc - 47
If IntAsc < 33 Then IntAsc = IntAsc + 47
End If
JiaMi = Chr(IntAsc)
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
thrush51
2011-12-28 · TA获得超过250个赞
知道答主
回答量:196
采纳率:0%
帮助的人:131万
展开全部
1.从键盘输入一串字符,将其进行加密并显示密文 2.从键盘输入一串密文,将其进行解密并显示明文 去学C语言, 你问的问题太死b,没有会回答你的 ..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式