For Caesar Cipher VB.Net中的循环

时间:2014-11-22 19:56:47

标签: vb.net

我发现了这个Caesar密码,我只是想完全理解它,我得到了密码本身的工作原理,因为它接收了消息字符串中的第一个字母,以及用户输入的密码是否经过了从字符串中的第一个字母开始多次出现的字母和它所放置的任何字母都用字母键替换字母中的每个字母。

它只是代码本身我有点麻烦,特别是for循环所以如果有人可以解释for循环如何工作我会非常感激,谢谢。这是代码:

Sub Main()

    Console.WriteLine(Encrypt)

    Console.ReadKey()

End Sub
Function Encrypt() As String

    Dim Key As Integer
    Dim Message As String
    Dim EncMessage As String
    Console.Write("Please enter a message that you would like to encrypt: ")
    Message = Console.ReadLine  ' user inputs the message they wish to encrypt

    Dim LetterArray() As Char = Message.ToCharArray  ' 
    Console.Write("What key would you like to use?: ")
    Key = Console.ReadLine()

    For i = 0 To LetterArray.Length - 1
        EncMessage = EncMessage & Chr(Asc(LetterArray) + Key)
    Next

    Return EncMessage

End Function

1 个答案:

答案 0 :(得分:0)

您需要使用Lbound()和Ubound()来导航数组。另外,我没有看到我保留在任何地方。您还应该让函数通过函数本身返回值

For i = Lbound(LetterArray) to Ubound(LetterArray)-1
EncMessage = ...your cipher thing here
Next

Encrypt = EncMessage