2016-03-14 18:25:47 +03:00
|
|
|
|
Module XORCrypto
|
|
|
|
|
|
|
|
|
|
Sub Main()
|
|
|
|
|
Dim input As String = Console.ReadLine()
|
|
|
|
|
Dim output As String = encryptDecrypt(input)
|
|
|
|
|
Console.WriteLine("Input : " & input)
|
|
|
|
|
Console.WriteLine("Output : " & output)
|
|
|
|
|
Dim rett As String = encryptDecrypt(output)
|
|
|
|
|
Console.WriteLine("RoundAbout : " & rett)
|
|
|
|
|
Console.ReadLine()
|
|
|
|
|
End Sub
|
|
|
|
|
|
2016-03-14 19:36:43 +03:00
|
|
|
|
''' <summary>
|
|
|
|
|
''' Encrypts and Decrypts string via XOR Operation
|
|
|
|
|
''' </summary>
|
|
|
|
|
''' <param name="input">String to be encrypted/decrypted</param>
|
|
|
|
|
''' <returns>Encrypted/Decrypted output string</returns>
|
2016-03-14 18:25:47 +03:00
|
|
|
|
Private Function encryptDecrypt(input As String) As String
|
|
|
|
|
Dim key As Char() = {"K"c, "C"c, "Q"c}
|
|
|
|
|
'Any chars will work, in an array of any size
|
|
|
|
|
Dim output As Char() = New Char(input.Length - 1) {}
|
|
|
|
|
For i As Integer = 0 To input.Length - 1
|
|
|
|
|
output(i) = ChrW(AscW(input(i)) Xor AscW(key(i Mod key.Length)))
|
2016-03-14 19:50:09 +03:00
|
|
|
|
'ChrW(CharCode As Integer) As Char (Unicode) : Returns the character associated with the specified character code
|
|
|
|
|
'AscW([String] As Char) As Integer (Unicode) : Returns an integer value representing the character code corresponding to a character
|
2016-03-14 18:25:47 +03:00
|
|
|
|
Next
|
|
|
|
|
Return New String(output)
|
|
|
|
|
End Function
|
|
|
|
|
|
|
|
|
|
End Module
|