tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
7416
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Amon-Rê
    Amon-Rê Amon-Rê ist offline Mitglied
    Registriert seit
    Dec 2004
    Ort
    Görlitz (Sachsen)
    Beiträge
    21
    Hallo,

    Bin grad dabei mit C# ein kleines Prog zu schreiben was Dateien in einem Verzeichnis verschlüsseln soll. Die Erstelllung der Verzeichnis-Struktur funktioniert einwandfrei nur habe ich leider auch nach intensiver Suche nichts gefunden wie ich die, aus der Datei, ausgelesenen Daten mit Hilfe eines Passwortes über XOR-Verschlüsseln kann.
    Wenn ich XOR auf zwei chars anwende bekommen ich immer bloß eine Integer-Zahl raus. Hat vll jemand ne Idee wie ich das Realisieren könnte

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
      private String decode(String text, String passwd)
      {
        char[] text2 = text.ToCharArray();
        char[] passwd2 = passwd.ToCharArray();
        char[] code = new char[text.Length];
      
        for(int i=0; i<text2.Length; i++)
        {
            // Hier müsste die XOR-Verknüpfung
            // Bei C++ gings in etwa so:
            // code[i] = text2[i] ^ passwd2[i%passwd.Length];
        }
      
        ... // code[] als String zurückgeben
      }

    Weiß jemand wie man das unter C# lösen kann?
     
    Ist Realität nur die Folge der Notwendigkeit, Wahrheit zu erkennen die uns tief im Geiste einverleibt.

    Schau's dir an
    auch das hier

  2. #2
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    naja es wird wohl ein Integerwert rauskommen, der nicht 255 überschreiten sollte und somit quasi der char-Wert ist. Ob das da überhaupt unten funktioniert, weiß ich nicht, aber wenn der dir einen Integer-Wert generiert, kannst du den Krams doch einfach in dein Char-Array reinpacken, genauso wie du es unten hast. Wahrscheinlich kann er es aber nicht von selbst casten. C kommt damit ja so klar. Hier musst du sowas versuchen:

    Code :
    1
    
    code[i] = Convert.ToChar(text2[i] ^ passwd2[i%passwd.Length]);

    Guck dir jedenfalls mal die Klasse Convert an. Die sollte normalerweise ohne zusätzliche Imports da sein. Diese Klasse liefert dir viele statische Cast-Methoden. Da ich jetzt kein .NET aufm Laptop habe, weiß ich nicht, ob die Parameter gehen, deswegen musst du mal so ausprobieren, ob es geht.

    Viel Glück,

    NRFi
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  3. #3
    Avatar von Amon-Rê
    Amon-Rê Amon-Rê ist offline Mitglied
    Registriert seit
    Dec 2004
    Ort
    Görlitz (Sachsen)
    Beiträge
    21
    Hat zwar nich ganz das gebracht was i brauchte, hat mir aber den richtigen Denk-Anstoss gegeben. Da man bei C++ 'char' durchaus zum Byteweisen auslesen nutzen konnte, hab ich mich nen bissl auf das 'char' verrannt. Bei C# sollte man für sowas nen FileStream nutzen und das ganze gleich als byte-Array auslesen.
    Das mit der Convert-Klasse is trotzdem notwendig, dann halt bloß mit "ToByte()"

    Vielen Dank für den genialen Denkanstoss. Wenn das Projekt mal fertig is, stell ich den Code gerne hier zur Verfügung, für die, die sowas interessiert.
     
    Ist Realität nur die Folge der Notwendigkeit, Wahrheit zu erkennen die uns tief im Geiste einverleibt.

    Schau's dir an
    auch das hier

  4. #4
    NRFi NRFi ist offline Mitglied Brokat
    Registriert seit
    Jul 2003
    Ort
    Behind the mouse
    Beiträge
    321
    mal eine andere Frage, du hast dir da eine Verschlüsselungsfunktion gebaut - warum nimmst du nicht die Funktionalitäten diesbezüglich aus dem .NET Framework?
    System.Security.Cryptography bietet da einiges, was auch sicherer als eine XOR-Verschlüsselung ist
     
    Für einen ist es Windows, für den anderen die größte Batch-Datei der Welt...

  5. #5
    Avatar von Amon-Rê
    Amon-Rê Amon-Rê ist offline Mitglied
    Registriert seit
    Dec 2004
    Ort
    Görlitz (Sachsen)
    Beiträge
    21
    Sorry, das Antwort bissl spät kommt.
    ging bei dem Beispiel nich um besonders große Sicherheit, war bloß Teil einer Aufgabe von einem meiner Profs, vin daher schien mir das am simpelsten.
     
    Ist Realität nur die Folge der Notwendigkeit, Wahrheit zu erkennen die uns tief im Geiste einverleibt.

    Schau's dir an
    auch das hier

Ähnliche Themen

  1. Verknüpfung zweier Tabellen
    Von v0llmilch im Forum PHP
    Antworten: 8
    Letzter Beitrag: 20.05.10, 09:09
  2. Werte zweier Arrays vergleichen
    Von loddarmattheus im Forum PHP
    Antworten: 3
    Letzter Beitrag: 22.08.08, 10:41
  3. Verknüpfung zweier Tabellen
    Von MeinerEiner_80 im Forum Relationale Datenbanksysteme
    Antworten: 12
    Letzter Beitrag: 28.07.07, 09:48
  4. Ermitteln der Zeilen eines Char-Arrays
    Von Rene Albrecht im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 04.10.05, 14:32
  5. Datensätze anhand Verknüpfung zweier Tabellen löschen?
    Von metty im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 25.10.04, 14:40