0
我想在VB.net中做一个加密方法。
我打算使用数组,所以你输入的值,然后它比较两个数组改变值。凯撒密码加密VB.net
Console.WriteLine("Please input text")
Dim UserInput As String = Console.ReadLine
UserInput = UserInput.ToUpper()
Console.WriteLine("Original Input is " & UserInput)
Dim EncriptedText As String
Dim Numbers() As String = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "21", "22", "23", "24", "25", "26", "27"}
Dim Letters() As String = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", " "}
For counter As Integer = 0 To UserInput.Length - 1
Dim pos As Integer = Array.IndexOf(Numbers, UserInput.Chars(counter))
Dim CharValue As Char = Letters.ElementAt(pos)
UserInput = UserInput + CharValue
Console.WriteLine(UserInput)
Next
Console.Read()
End Sub
当我尝试运行它时会引发错误。
有没有人有任何想法我可以修复它?
错误:上的暗淡的charValue实测为CHAR线
类型“System.ArgumentOutOfRangeException”的未处理的异常出现在mscorlib.dll 其他信息:索引超出范围。必须是非负数且小于集合的大小。
我想这可能是因为我试图将数字转换为字符,如果有的话,我可以使用其他方法?
你为什么要实现这样一个** **较弱的加密算法? –
***不要推出自己的加密***至少对于任何敏感的事情,因为许多事情可能会出错... – Codexer