Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 替换字符并将它们重新组合在一起_Vb.net - Fatal编程技术网

Vb.net 替换字符并将它们重新组合在一起

Vb.net 替换字符并将它们重新组合在一起,vb.net,Vb.net,所以我想我应该试试用Visual Basic制作加密软件。 我有两行代码,一行用于加密,另一行用于解密。我还有一把早就设定好的钥匙 百科全书: Message = Message.Replace("A", A).Replace("B", B).Replace("C", C) // ...goes on to "z" 解密: Message = Message.Replace(lz, "z").Replace(ly, "y").Replace(lx, "x") // ...goes on to

所以我想我应该试试用Visual Basic制作加密软件。 我有两行代码,一行用于加密,另一行用于解密。我还有一把早就设定好的钥匙

百科全书:

Message = Message.Replace("A", A).Replace("B", B).Replace("C", C) // ...goes on to "z"
解密:

Message = Message.Replace(lz, "z").Replace(ly, "y").Replace(lx, "x") // ...goes on to "A"
我的问题如下。例如,我们将使用默认键,即
qwertyuiopasdfghjklzxcvnmqwertyuiopasdfghjklzxcvnm1234567890!@#^&*()-+=
。我的变量
A
等于键中的第一个字母,例如,它是Q。因此,我的消息中的任何“A”都将转换为Q。当我试着把它们转回去时,问题来了,为了解密,我的“Q”将变成任何变量Q。在这种情况下,变量
Q
等于“J”,因为
Q
等于我的键中第17个位置的值


所以最后,如果我尝试加密“A”,然后解密将其变成“J”。当然,整个信息都被搞砸了。有人对我应该如何进行有什么想法吗?

Visual Studio不是一种编程语言,它是一种多语言的语言,所以你的问题一点意义都没有。@Dawiderenchy抱歉,已经解决了,我的意思是Visual Basic你没有更改标记,这更重要。我处理好了。通过继续执行
.Replace()
可以替换已经加密的字符。使用
字典(TKey,TValue)
逐个遍历所有字符。在迭代过程中,构造一个字符串,其中您附加的每个字符都是字典中旧字符的相应值。他的意思是有2个字符串,例如OriginalMessage和EncryptedMessage。从OriginalMessage中读取每个字符,每次读取1个字符,然后将其加密版本添加到EncryptedMessage中,EncryptedMessage以空开头。使用查找表(如字典)是转换1字符的最佳方法