Programming Forums
User Name Password Register
 

RSS Feed
FORUM INDEX | TODAY'S POSTS | UNANSWERED THREADS | ADVANCED SEARCH

Reply
 
Thread Tools Display Modes
Old Jul 8th, 2005, 5:03 PM   #1
Intimidat0r
Hobbyist Programmer
 
Intimidat0r's Avatar
 
Join Date: May 2005
Location: Don't know, but the padded walls are a nice touch.
Posts: 126
Rep Power: 0 Intimidat0r is an unknown quantity at this point
Send a message via ICQ to Intimidat0r Send a message via AIM to Intimidat0r Send a message via MSN to Intimidat0r Send a message via Yahoo to Intimidat0r
ROT Decryptor

I have tried to make a program to decrypt simple ROT decryptions which is where if it's like ROT 4 you move each letter 4 spaces down, so A becomes E, W becomes Z and so on. Here is my code:

    Dim ROTIndex As Integer
    Dim Encrypted As String
    Dim Decrypted() As String = ""

    Sub Main()
        Console.WriteLine("Rotation index: ")
        ROTIndex = Console.ReadLine()
        Console.WriteLine("Encrypted text: ")
        Encrypted = Console.ReadLine()
        For Index As Integer = 0 To Encrypted.Length
            Decrypted = Decrypted & Chr(Asc(Encrypted.Substring(Index, 1) + 13))
        Next
        Console.WriteLine("Decrypted Text: " & Decrypted)
    End Sub

It looks all well and good but when I try to run it I get a bug saying "Invalid cast exception -> cast from string "h" to type 'Double' is not valid" and it says it's occurring on the line that says this:

Decrypted = Decrypted & Chr(Asc(Encrypted.Substring(Index, 1) + 13))

Does anybody know why it may be doing this?
__________________
Children in the dark cause accidents, and accidents in the dark cause children.

http://www.ronincoders.org
Intimidat0r is offline   Reply With Quote
Old Jul 8th, 2005, 9:12 PM   #2
Rory
Expert Programmer
 
Rory's Avatar
 
Join Date: Jan 2005
Location: London
Posts: 542
Rep Power: 4 Rory is on a distinguished road
Send a message via MSN to Rory
Your adding 13 (byte) to a character which should work as they are actually the same thing but no in VB's universe.
Chr(Asc(Encrypted.Substring(Index, 1)) + 13)

For some reason VB's so Unicodified (Grrr! English IS the only language in the world). This works though:

    Dim ROTIndex As Byte
    Dim Buffer As Char()

    Sub Main()
        Console.Write("Rotation index: ")
        ROTIndex = Console.ReadLine()

        Console.Write("Encrypted text: ")
        Buffer = Console.ReadLine()

        For Index As Integer = Buffer.GetLowerBound(0) To Buffer.GetUpperBound(0)
            Buffer(Index) = Chr(Asc(Buffer(Index)) + ROTIndex)
        Next

        Console.WriteLine("Decrypted Text: " & Buffer)

        Console.ReadLine()
    End Sub
Rory is offline   Reply With Quote
Reply

Bookmarks

« Previous Thread in Forum | Next Thread in Forum »

Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump




DaniWeb IT Discussion Community
All times are GMT -5. The time now is 11:43 PM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC