【发布时间】:2013-11-21 21:36:09
【问题描述】:
好的,所以我试图让我的程序获取你的密钥,并循环遍历密钥的每个字符,然后找到每个字符代码的 ascii 代码,然后循环遍历消息的每个字符,找到他们每个人的 ascii 代码,并将密钥代码添加到消息代码中,对密钥中的每个字符执行此操作,到消息中的每个字符。我遇到了一个小问题,它在添加第一个字母后立即更改了消息,我不知道如何解决它,任何帮助都会很棒!
基本上,我想要的只是关键字符的 ascii 代码并将它们添加到消息字符的 ascii 代码中,然后将最终代码转换回消息文本中的新字符。使用这个:
tbxMessage.Text = (AscW(Mid(tbxMessage.Text, xForMess, 1)) + AscW(vTemp))
这是我目前所拥有的一切:
Public Class Form1
Function fctEncryptDecrypt(pMess As String, pKey As String) As String
If Len(tbxMessage.Text) > 0 Then
Dim xForKey As Integer
Dim xForMess As Integer
Dim intKey As Integer
Dim intMessage As Integer
Dim strAsciiKeyChar As String
Dim intAsciiKeyChar As Integer
Dim strAsciiMesChar As String
Dim intAsciiMesChar As Integer
Dim vTemp As String
Dim vTempMess As String
intKey = Len(tbxKey.Text)
intMessage = Len(tbxMessage.Text)
For xForKey = 1 To intKey
strAsciiKeyChar = Mid(tbxKey.Text, xForKey, 1)
intAsciiKeyChar = AscW(strAsciiKeyChar)
vTemp = intAsciiKeyChar
For xForMess = 1 To intMessage
strAsciiMesChar = Mid(tbxMessage.Text, xForMess, 1)
intAsciiMesChar = AscW(strAsciiMesChar)
vTempMess = vTemp + intAsciiMesChar
tbxMessage.Text = (AscW(Mid(tbxMessage.Text, xForMess, 1)) + AscW(vTemp))
Next xForMess
Next xForKey
Label1.Text = vTemp
Else
MessageBox.Show("No Message Found")
End If
End Function
Private Sub btnEncrypt_Click(sender As System.Object, e As System.EventArgs) Handles btnEncrypt.Click
fctEncryptDecrypt(tbxMessage.Text, tbxKey.Text)
End Sub
End Class
【问题讨论】:
-
fwiw,这不是加密。
-
仅供参考,here's 的答案为在 VB.NET 中实现自定义加密提供了更强大的基础/框架。
标签: vb.net loops encryption for-loop