假設你的鑰匙是字母長度相同, 你可以做一個for循環,檢查字符串的每個字符(該字符是如何與你的密鑰)。
例如,您的消息「hello」。
這不是實際的代碼,而只是證明你在問什麼概念:
for each letter in message
position_in_alphabet = current_letter
cipher_letter = key(position_in_alphabet)
append cipher_letter to cipher_message
例如,「你好」,是5個字符。所以這個循環將循環5次。 (第8,5,12,12,15)。 你插入那些關鍵的關鍵,你會得到「qlnnr」(或者關鍵指示)。
全部放在一起,它會看起來像:
Dim _message As String = "hello"
Const _plain As String = "abcdefghijklmnopqrstuvwxyz"
Const _key As String = "kxgtlmpqbwcnderfahjusviyoz"
Dim charPos As Integer = 0
Dim Cipher As String = ""
For i = 0 To _message.Length - 1
charPos = _plain.IndexOf(_message(i))
Cipher = Cipher & _key(charPos)
Next i
反之,查找有關該密鑰的密碼的位置,然後將其寫入明文字典,像這樣:
Dim _cipher As String = "qlnnr"
Const _plain As String = "abcdefghijklmnopqrstuvwxyz"
Const _key As String = "kxgtlmpqbwcnderfahjusviyoz"
Dim charPos As Integer = 0
Dim Message As String = ""
For i = 0 To _message.Length - 1
charPos = _key.IndexOf(_cipher(i))
Message = Message & _plain(charPos)
Next i
很難不知道你在哪裏。在開始之前,有用的概念是數組,字典,循環,隨機,StringBuilder。假設你從用戶那裏得到一個密鑰是一個驗證問題,而不是一個UI。如果您還不瞭解上述情況,則需要退後一步並查看它們。 PS你知道這種密碼很容易被破解嗎? –