Entwickler-Ecke

Basistechnologien - Einfaches Encrypt und Decrypt Programm, Problem


Sharpener - Mo 16.01.12 20:04
Titel: Einfaches Encrypt und Decrypt Programm, Problem
Hi,
ich möchte ein einfaches Verschlüsselungsprogrammm schreiben ,stoße dabei jedoch auf Probleme. Leider musste ich Ende Oktober aufhören C# zu lernen , der Schule wegen und musste mich mit Java rumstreiten. Natürlich bin ich jetzt ein bisschen verwirrt...
Naja aufjedenfall soll in einer Konsole ein String Verschlüsselt und Entschlüsselt werden.
Dazu dachte ich zu Anfangs: Stringeingabe, String Umdrehen, String in Zahl, ein bisschen Mathepower und am Ende ein schöner Zahlen Salat.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Encrypter
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Easy Encryption V1");
            string mystring = Console.ReadLine();
            mystring = ReverseString(mystring);
            Console.WriteLine("Reversing Input: {0}", mystring);
            int mysecret = Convert.ToInt32(mystring); //Fehlerhaft ab dieser Zeile
            Console.WriteLine(mysecret);
            Console.ReadLine();



        }
        private static string ReverseString(string input)
        {
            char[] inputChars = input.ToCharArray();
            Array.Reverse(inputChars);
            return new string(inputChars);
        }
    }
}

.. Schnell eine Umdrehfunktion geschrieben, die ich im danach auch im Internet gefunden habe! Naja natürlich war ich im Naiven Glauben man kann Buchstaben einfach in Zahlen umwandeln aber der Debugger will das nicht so recht. Gibt es da nicht eine Möglichkeit?
Kann man vielleicht, wenn das obige nicht geht, dem Programm eine Liste bzw. Array geben wo drin steht a=0 b=k etc. und das verschlüsselt oder Entschlüsselt dann so?
Ich hab schon im Internet gesucht aber nichts so wirkliches zu dem Gefunden.


Sharpener


Yogu - Mo 16.01.12 21:05

Hallo user profile iconSharpener,

ich bin mir nicht ganz sicher, worauf du hinaus willst. Eine Möglichkeit, an Zahlen zu kommen, wäre es, den String mithilfe einer bestimmten Encodierung in Bytes zu verwandeln, z.B. so:


C#-Quelltext
1:
2:
string str = "abc";
byte[] bytes = new UTF8Encoding().getBytes(abc);

Diese Bytes kannst du dann anschließend in einer Schleife verschlüsseln und ausgeben.

Grüße,
Yogu


Sharpener - Di 17.01.12 16:12

Danke, aber das GetBytes hat mir einen Fehler ausgespuckt. Ich habe aber eine möglichkeit gefunden alle Buchstaben einer Eingabe in einem Array zu speichern, nun kann ich per switch alles manuell encoden und decoden lassen.


Yogu - Di 17.01.12 17:27

user profile iconSharpener hat folgendes geschrieben Zum zitierten Posting springen:
das GetBytes hat mir einen Fehler ausgespuckt.

Welchen denn? Und wie hast du die Methode verwendet?

Dieses Beispielprogramm sollte funktionieren (zumindest tut's das bei mir).


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
  class Program {
    static void Main(string[] args) {
      byte[] bytes = new UTF8Encoding().GetBytes("Beispieltext");
      foreach (byte b in bytes)
        Console.WriteLine(b);
      Console.ReadLine();
    }
  }