<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Rexor Wiki Rss Feed</title><link>http://rexor.codeplex.com/wikipage</link><description>Rexor Wiki Rss Description</description><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;
Rexor is an encryption algorithm developed with cryptography beginners in mind. It&amp;#39;s designed to be simple and easy to use and a good starting point for beginners. The algorithm is written in VB.NET but I hope to expand on that soon. Rexor stands for RE REverse XOR Exclusive OR. I am actively working on the project and I hope to get some more people soon.&lt;br /&gt;&lt;br /&gt;Here is a step-by-step analysis of the code.&lt;br /&gt;How it works:&lt;br /&gt;&lt;br /&gt;Starting from the very top, this four line snippet imports the necessary namespaces needed to execute the code. Without these we wouldn&amp;#39;t be able to use most of the commands below.&lt;br /&gt;&lt;br /&gt;Imports Microsoft.VisualBasic&lt;br /&gt;Imports System.Text&lt;br /&gt;Imports System.Security.Cryptography&lt;br /&gt;Imports System.IO&lt;br /&gt;&lt;br /&gt;This line says what the block of text is called, Rexor.&lt;br /&gt;&lt;br /&gt;Module Rexor&lt;br /&gt;&lt;br /&gt;This block of code is the main function. It is called when a programmer wants to encrypt a string.&lt;br /&gt;&lt;br /&gt;    Public Function Rexorcrypt(ByVal Input As String, ByVal Key As String) As String&lt;br /&gt;        Return xorstring(Reverse(xorstring(Input, Key)), Key)&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;This line declares the encrypt function&amp;#39;s name and the variables it needs to execute.&lt;br /&gt;&lt;br /&gt;Private Function xorstring(ByVal input As String, ByVal key As String) As String&lt;br /&gt;&lt;br /&gt;In this block we declare the variables needed in order to store the necessary information required to carry out the algorithm successfully.&lt;br /&gt;&lt;br /&gt;        Dim Result1 As String&lt;br /&gt;        key = Hashkey(key)&lt;br /&gt;        Dim a As Array = input.ToCharArray&lt;br /&gt;        Dim k As Array = key.ToCharArray&lt;br /&gt;        Dim q As Integer = 0&lt;br /&gt;&lt;br /&gt;Where it says ‘Key = Hashkey(Key)’ we turn the Password (Key) into a SHA1 Hash so if the key is bob, then the hash is &amp;quot;SBgazSKz7a68ikR4aKfffOYpkgo=&amp;quot;&lt;br /&gt;&lt;br /&gt;But that was just calling the function, here is the code:&lt;br /&gt;&lt;br /&gt;    Private Function Hashkey(ByVal key As String)&lt;br /&gt;        &amp;#39;Hash the key&lt;br /&gt;        Dim sha1CryptoService As New SHA1CryptoServiceProvider()&lt;br /&gt;        Dim byteValue = Encoding.UTF8.GetBytes(key)&lt;br /&gt;        Dim hashValue = sha1CryptoService.ComputeHash(byteValue)&lt;br /&gt;        Return Convert.ToBase64String(hashValue)&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;After that these lines turn the hashed key and the input string into character arrays.&lt;br /&gt;&lt;br /&gt;        Dim a As Array = input.ToCharArray&lt;br /&gt;        Dim k As Array = key.ToCharArray&lt;br /&gt;&lt;br /&gt;Here the function finds the character codes of each letter in the ket and input strings and then xor’s them together.&lt;br /&gt;&lt;br /&gt;      For i = 0 To a.Length - 1&lt;br /&gt;            If q = 27 Then&lt;br /&gt;                q = 0&lt;br /&gt;            End If&lt;br /&gt;            &amp;#39;Dim k As String = Mid((key), q, 1)&lt;br /&gt;            Result1 = Result1 + Chr((Asc(k(q))) Xor Asc(a(i)))&lt;br /&gt;            q = q + 1&lt;br /&gt;        Next&lt;br /&gt;&lt;br /&gt;The result is returned and the function ended.&lt;br /&gt;&lt;br /&gt;        Return Result1&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;But up to here, we have only xor’d the input string with the key once, now the algorithm moves onto reversing the output string and then xoring the old output with the key again.&lt;br /&gt;&lt;br /&gt;    Public Function Rexorcrypt(ByVal Input As String, ByVal Key As String) As String&lt;br /&gt;        Return xorstring(Reverse(xorstring(Input, Key)), Key)&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;(The reverse function is:&lt;br /&gt;&lt;br /&gt;  Private Function Reverse(ByVal input As String)&lt;br /&gt;        &amp;#39;Reverse the string&lt;br /&gt;        &amp;#39;Turn the string into an array&lt;br /&gt;        Dim rev() As Char = input.ToCharArray&lt;br /&gt;        &amp;#39;Reverse the array&lt;br /&gt;        Array.Reverse(rev)&lt;br /&gt;        &amp;#39;Convert the array to a string again.&lt;br /&gt;        Return CStr(rev)&lt;br /&gt;    End Function&lt;br /&gt;&lt;br /&gt;)&lt;br /&gt;&lt;br /&gt;So we:&lt;br /&gt;- Xored a string with a hashed key&lt;br /&gt;- Reversed the result&lt;br /&gt;- Xored the result with the hashed key again&lt;br /&gt;- Returned the result.&lt;br /&gt;&lt;br /&gt;Email me: tyopdfdf@live.co.uk&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Wed, 27 Jan 2010 19:08:33 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100127070833P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;Rexor is an &lt;b&gt;encryption algorithm&lt;/b&gt; developed with &lt;b&gt;cryptography begginers in mind&lt;/b&gt;. It&amp;#39;s &lt;b&gt;designed to be simple&lt;/b&gt; and easy to use, but also to have &lt;b&gt;security&lt;/b&gt; and advanced features available if you choose to use them. The algorithm is written in VB.NET but I hope to expand on that soon. If you read the home page, then you will know rexor stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. I am activly working on the project and I hope to get some more people soon.&lt;br /&gt;&lt;br /&gt;Here is a step by step analysis of the code.&lt;br /&gt;How it works:&lt;br /&gt;&lt;br /&gt;Starting from the very top, this four line snippet imports the nessesery namespaces needed to excecute the code. Without these we wouldn&amp;#39;t be able to use most of the commands below.&lt;br /&gt;&lt;pre&gt;Imports Microsoft.VisualBasic
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This line says what the block of text is called, Rexor.&lt;br /&gt;&lt;span class="codeInline"&gt; Module Rexor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This line declares the encrypt function&amp;#39;s name and the variables it needs to excecute.&lt;br /&gt;&lt;span class="codeInline"&gt;Public Function RexorEncrypt(ByVal Input As String, ByVal Key As String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this block we declare the variables needed in order to store the nessecery information required to carry out the algorithm sucessfully.&lt;br /&gt;&lt;pre&gt;        Dim Result1 As String = &amp;quot;&amp;quot;
        Dim KeyChar As Integer
        Dim Result2 As String = &amp;quot;&amp;quot;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we turn the Password (Key) into a SHA1 Hash so if the key is bob, then the hash is &amp;quot;SBgazSKz7a68ikR4aKfffOYpkgo=&amp;quot;&lt;br /&gt;&lt;span class="codeInline"&gt;Key = Hashkey(Key)&lt;/span&gt;&lt;br /&gt;But that was just calling the function, here is the code:&lt;br /&gt;&lt;pre&gt;    Private Function Hashkey(ByVal key As String)
        &amp;#39;Hash the key
        Dim sha1CryptoService As New SHA1CryptoServiceProvider()
        Dim byteValue = Encoding.UTF8.GetBytes(key)
        Dim hashValue = sha1CryptoService.ComputeHash(byteValue)
        Return Convert.ToBase64String(hashValue)
    End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For each letter of the Input string, we combine (XOR) it with a letter of the Key&lt;br /&gt;&lt;pre&gt; KeyChar = Asc(Key)
        Dim q As Integer = 0
        For i = 1 To Len(Input)
            q = q + 1
            If q = Len(Key) Then
                q = 1
            End If
            Dim k As String = Mid((Key), q, 1)
            Result1 = Result1 + Chr((Asc(k)) Xor Asc(Mid((Input), i, 1)))
        Next&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reset the variable for next time.&lt;br /&gt;&lt;span class="codeInline"&gt; q = 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Now we reverse the combined (XOR&amp;#39;d) string&lt;br /&gt;&lt;br /&gt;&lt;span class="codeInline"&gt; Input = Reverse(Result1)&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;But again that was just calling a function. Here is the code.&lt;br /&gt;&lt;pre&gt;    Private Function Reverse(ByVal input As String)
        Dim rev() As Char = input.ToCharArray
        Array.Reverse(rev)
        Return CStr(rev)
    End Function&lt;/pre&gt;&lt;br /&gt; &lt;br /&gt;Now we XOR the reversed result with the key again.&lt;br /&gt;&lt;pre&gt;
 For i = 1 To Len(Input)
            q = q + 1
            If q = Len(Key) Then
                q = 1
            End If
            Dim k As String = Mid((Key), q, 1)
            Result2 = Result2 + Chr(Asc(k) Xor Asc(Mid(Input, i, 1)))
        Next&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reset the variable q&lt;br /&gt;&lt;span class="codeInline"&gt;q = 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And return the result&lt;br /&gt;&lt;span class="codeInline"&gt;Return Result2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Because the cipher has only one (main) function it is called symmetrical.&lt;br /&gt;Todd.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Sun, 10 Jan 2010 21:23:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100110092354P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;Rexor is an &lt;b&gt;encryption algorithm&lt;/b&gt; developed with &lt;b&gt;cryptography begginers in mind&lt;/b&gt;. It&amp;#39;s &lt;b&gt;designed to be simple&lt;/b&gt; and easy to use, but also to have &lt;b&gt;security&lt;/b&gt; and advanced features available if you choose to use them. The algorithm is written in VB.NET but I hope to expand on that soon. If you read the home page, then you will know rexor stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. I am activly working on the project and I hope to get some more people soon.&lt;br /&gt;&lt;br /&gt;Here is a step by step analysis of the code.&lt;br /&gt;How it works:&lt;br /&gt;&lt;br /&gt;Starting from the very top, this four line snippet imports the nessesery namespaces needed to excecute the code. Without these we wouldn&amp;#39;t be able to use most of the commands below.&lt;br /&gt;&lt;pre&gt;Imports Microsoft.VisualBasic
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This line says what the block of text is called, Rexor.&lt;br /&gt;&lt;span class="codeInline"&gt; Module Rexor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This line declares the encrypt function&amp;#39;s name and the variables it needs to excecute.&lt;br /&gt;// single line&lt;br /&gt;&lt;span class="codeInline"&gt;Public Function RexorEncrypt(ByVal Input As String, ByVal Key As String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this block we declare the variables needed in order to store the nessecery information required to carry out the algorithm sucessfully.&lt;br /&gt;&lt;pre&gt;        Dim Result1 As String = &amp;quot;&amp;quot;
        Dim KeyChar As Integer
        Dim Result2 As String = &amp;quot;&amp;quot;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we turn the Password (Key) into a SHA1 Hash so if the key is bob, then the hash is &amp;quot;SBgazSKz7a68ikR4aKfffOYpkgo=&amp;quot;&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt;        Key = Hashkey(Key)&lt;/pre&gt;&lt;br /&gt;But that was just calling the function, here is the code:&lt;br /&gt;&lt;pre&gt;
    Private Function Hashkey(ByVal key As String)
        &amp;#39;Hash the key
        Dim sha1CryptoService As New SHA1CryptoServiceProvider()
        Dim byteValue = Encoding.UTF8.GetBytes(key)
        Dim hashValue = sha1CryptoService.ComputeHash(byteValue)
        Return Convert.ToBase64String(hashValue)
    End Function&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For each letter of the Input string, we combine (XOR) it with a letter of the Key&lt;br /&gt;&lt;pre&gt;
 KeyChar = Asc(Key)
        Dim q As Integer = 0
        For i = 1 To Len(Input)
            q = q + 1
            If q = Len(Key) Then
                q = 1
            End If
            Dim k As String = Mid((Key), q, 1)
            Result1 = Result1 + Chr((Asc(k)) Xor Asc(Mid((Input), i, 1)))
        Next&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reset the variable for next time.&lt;br /&gt;&lt;pre&gt;q = 0&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now we reverse the combined (XOR&amp;#39;d) string&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Input = Reverse(Result1)&lt;/pre&gt;&lt;br /&gt; &lt;br /&gt;But again that was just calling a function. Here is the code.&lt;br /&gt;&lt;pre&gt;
    Private Function Reverse(ByVal input As String)
        Dim rev() As Char = input.ToCharArray
        Array.Reverse(rev)
        Return CStr(rev)
    End Function&lt;/pre&gt;&lt;br /&gt; &lt;br /&gt;Now we XOR the reversed result with the key again.&lt;br /&gt;&lt;pre&gt; For i = 1 To Len(Input)
            q = q + 1
            If q = Len(Key) Then
                q = 1
            End If
            Dim k As String = Mid((Key), q, 1)
            Result2 = Result2 + Chr(Asc(k) Xor Asc(Mid(Input, i, 1)))
        Next&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reset the variable q&lt;br /&gt;&lt;span class="codeInline"&gt;q = 0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And return the result&lt;br /&gt;&lt;span class="codeInline"&gt;Return Result2&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Because the cipher has only one (main) function it is called symmetrical.&lt;br /&gt;Todd.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Sat, 09 Jan 2010 13:06:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100109010603P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;Rexor is an &lt;b&gt;encryption algorithm&lt;/b&gt; developed with &lt;b&gt;cryptography begginers in mind&lt;/b&gt;. It&amp;#39;s &lt;b&gt;designed to be simple&lt;/b&gt; and easy to use, but also to have &lt;b&gt;security&lt;/b&gt; and advanced features available if you choose to use them. The algorithm is written in VB.NET but I hope to expand on that soon. If you read the home page, then you will know rexor stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. I am activly working on the project and I hope to get some more people soon.&lt;br /&gt;&lt;br /&gt;Here is a step by step analysis of the code.&lt;br /&gt;How it works:&lt;br /&gt;&lt;br /&gt;Starting from the very top, this four line snippet imports the nessesery namespaces needed to excecute the code. Without these we wouldn&amp;#39;t be able to use most of the commands below.&lt;br /&gt;&lt;pre&gt;Imports Microsoft.VisualBasic
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This line says what the block of text is called, Rexor.&lt;br /&gt;&lt;span class="codeInline"&gt; Module Rexor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This line declares the encrypt function&amp;#39;s name and the variables it needs to excecute.&lt;br /&gt;// single line&lt;br /&gt;&lt;span class="codeInline"&gt;Public Function RexorEncrypt(ByVal Input As String, ByVal Key As String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this block we declare the variables needed in order to store the nessecery information required to carry out the algorithm sucessfully.&lt;br /&gt;&lt;pre&gt;        Dim Result1 As String = &amp;quot;&amp;quot;
        Dim KeyChar As Integer
        Dim Result2 As String = &amp;quot;&amp;quot;
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we turn the Password (Key) into a SHA1 Hash so if the key is bob, then the hash is &amp;quot;SBgazSKz7a68ikR4aKfffOYpkgo=&amp;quot;&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt;        Key = Hashkey(Key)
&lt;/pre&gt;&lt;br /&gt;But that was just calling the function, here is the code:&lt;br /&gt;&lt;pre&gt;
    Private Function Hashkey(ByVal key As String)
        &amp;#39;Hash the key
        Dim sha1CryptoService As New SHA1CryptoServiceProvider()
        Dim byteValue = Encoding.UTF8.GetBytes(key)
        Dim hashValue = sha1CryptoService.ComputeHash(byteValue)
        Return Convert.ToBase64String(hashValue)
    End Function
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;For each letter of the Input string, we combine (XOR) it with a letter of the Key&lt;br /&gt;&lt;pre&gt;
 KeyChar = Asc(Key)
        Dim q As Integer = 0
        For i = 1 To Len(Input)
            q = q + 1
            If q = Len(Key) Then
                q = 1
            End If
            Dim k As String = Mid((Key), q, 1)
            Result1 = Result1 + Chr((Asc(k)) Xor Asc(Mid((Input), i, 1)))
        Next
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Reset the variable for next time.&lt;br /&gt;&lt;pre&gt;q = 0
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now we reverse the combined (XOR&amp;#39;d) string&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;Input = Reverse(Result1)
&lt;/pre&gt;&lt;br /&gt; &lt;br /&gt;But again that was just calling a function. Here is the code.&lt;br /&gt;&lt;pre&gt;
    Private Function Reverse(ByVal input As String)
        Dim rev() As Char = input.ToCharArray
        Array.Reverse(rev)
        Return CStr(rev)
    End Function
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;---&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Sat, 09 Jan 2010 12:08:31 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100109120831P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;Rexor is an &lt;b&gt;encryption algorithm&lt;/b&gt; developed with &lt;b&gt;cryptography begginers in mind&lt;/b&gt;. It&amp;#39;s &lt;b&gt;designed to be simple&lt;/b&gt; and easy to use, but also to have &lt;b&gt;security&lt;/b&gt; and advanced features available if you choose to use them. The algorithm is written in VB.NET but I hope to expand on that soon. If you read the home page, then you will know rexor stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. I am activly working on the project and I hope to get some more people soon.&lt;br /&gt;&lt;br /&gt;Here is a step by step analysis of the code.&lt;br /&gt;How it works:&lt;br /&gt;&lt;br /&gt;Starting from the very top, this four line snippet imports the nessesery namespaces needed to excecute the code. Without these we wouldn&amp;#39;t be able to use most of the commands below.&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt;Imports Microsoft.VisualBasic
Imports System.Text
Imports System.Security.Cryptography
Imports System.IO
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This line says what the block of text is called, Rexor.&lt;br /&gt;// single line&lt;br /&gt;&lt;span class="codeInline"&gt; Module Rexor&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This line declares the encrypt function&amp;#39;s name and the variables it needs to excecute.&lt;br /&gt;// single line&lt;br /&gt;&lt;span class="codeInline"&gt;Public Function RexorEncrypt(ByVal Input As String, ByVal Key As String)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this block we declare the variables needed in order to store the nessecery information required to carry out the algorithm sucessfully.&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt; Dim i As Short
        Dim Result1 As String
        Dim KeyChar As Integer
        Dim Result2 As String
        Dim Result3 As String
        Dim Rand As String
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here we turn the Password (Key) into a SHA1 Hash so if the key is bob, then the hash is &amp;quot;SBgazSKz7a68ikR4aKfffOYpkgo=&amp;quot;&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt;Dim sha1CryptoService As New SHA1CryptoServiceProvider()
        Dim byteValue = Encoding.UTF8.GetBytes(key)
        Dim hashValue = sha1CryptoService.ComputeHash(byteValue)
        Key = Convert.ToBase64String(hashValue)
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;So, for each letter of the input string we generate some random characters here it was &amp;quot;CDyFlSLKI1q/CwLjjuPtkZBjKdFr&amp;quot;&lt;br /&gt;A random character is placed after every character in the input string. This helps make it harder to decipher.&lt;br /&gt;// multi-line&lt;br /&gt;&lt;pre&gt;    For i = 1 To Len(Input)
            Dim randomNumGen As RandomNumberGenerator = RNGCryptoServiceProvider.Create()
            Dim randomBytes(Len(input)) As Byte
            randomNumGen.GetBytes(randomBytes)
            Rand = Convert.ToBase64String(randomBytes)
            Dim s As Integer
            s = s + 1
            If s = Len(Rand) Then
                s = 1
            End If
            Result3 = Result3 + (Mid(Input, i, 1) + (Mid(Rand, s, 1)))
        Next
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now we get the ASCII values for the key, if the key is &amp;quot;bob&amp;quot; then the values are 83, 66 etc... (Remember Bob was converted to a hash)&lt;br /&gt;Now we XOR the input file (with the random data added) with the (hashed Key + the length of the key).&lt;br /&gt;//multi-line&lt;br /&gt;&lt;pre&gt;
         For i = 1 To Len(Result3)
            &amp;#39;Get the ASCII values for the Key
            Dim keylength As Integer
            KeyChar = Asc(Mid((Key), keylength, 1))
            keylength = keylength + 1
            If keylength = Len(Key) Then
                keylength = 1
            End If
            &amp;#39;XOR the input with the key whilst adding the length of
            &amp;#39;the Key to the ASCII value of the key
            Result1 = Result1 + Chr((KeyChar + Len(Key)) Xor Asc(Mid((Result3), i, 1)))
        Next
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;INCOMPLETE I WILL FINISH LATER!&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Fri, 08 Jan 2010 21:51:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100108095123P</guid></item><item><title>Updated Wiki: Home</title><link>http://rexor.codeplex.com/wikipage?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A small encryption algorithm written in VB.NET.&lt;br /&gt;Please contribute and develop with me&amp;#33;&lt;br /&gt;&lt;br /&gt;The name stands for &lt;b&gt;RE&lt;/b&gt;verse e&lt;b&gt;X&lt;/b&gt;clusive &lt;b&gt;OR&lt;/b&gt;. Find out why in the source or documentation.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Fri, 08 Jan 2010 17:28:11 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100108052811P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://rexor.codeplex.com/documentation?version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;&lt;b&gt;Rexor Documentation&lt;/b&gt;&lt;/h1&gt;Rexor is an &lt;b&gt;encryption algorithm&lt;/b&gt; developed with &lt;b&gt;cryptography begginers in mind&lt;/b&gt;. It&amp;#39;s &lt;b&gt;designed to be simple&lt;/b&gt; and easy to use, but also to have &lt;b&gt;security&lt;/b&gt; and advanced features available if you choose to use them. The algorithm is written in VB.NET but I hope to expand on that soon. If you read the home page, then you will know rexor stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. I am activly working on the project and I hope to get some more people soon.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Wed, 06 Jan 2010 21:50:08 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20100106095008P</guid></item><item><title>Updated Wiki: Home</title><link>http://rexor.codeplex.com/wikipage?version=3</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A small encryption algorithm written in VB.NET.&lt;br /&gt;Please contribute and develop with me&amp;#33;&lt;br /&gt;&lt;br /&gt;The name stands for &lt;b&gt;RE&lt;/b&gt; REverse &lt;b&gt;XOR&lt;/b&gt; Exclusive OR. You will see why in the source.&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Todd434</author><pubDate>Wed, 06 Jan 2010 21:30:09 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100106093009P</guid></item></channel></rss>