Autor Beitrag
Sharpener
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24

Win 95, Win 98, Win 2000, Win XP, Win Vista, Win 7, Win 8, Mac OS X 10.4, Mac OS X 10.7, Mac OS X 10.8
C# (VS 2012), SQL, PHP, HTML&CSS,Java
BeitragVerfasst: Mo 16.01.12 20:04 
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.
ausblenden 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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:

ausblenden 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 24

Win 95, Win 98, Win 2000, Win XP, Win Vista, Win 7, Win 8, Mac OS X 10.4, Mac OS X 10.7, Mac OS X 10.8
C# (VS 2012), SQL, PHP, HTML&CSS,Java
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: 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).

ausblenden 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();
    }
  }