So entschlüsseln Sie einfache XOR-Verschlüsselung

8

Ich habe die folgende XOR-Verschlüsselungsfunktion im Internet gefunden:

%Vor%

Es funktioniert perfekt, aber ich möchte die Zeichenfolge auch entschlüsseln.

Zum Beispiel:

%Vor%

Nachdem ich die Zeichenfolge verschlüsselt habe, würde ich also den gleichen Verschlüsselungsschlüssel verwenden, um die zuvor verschlüsselte Zeichenfolge zu entschlüsseln.

Ich bin ziemlich neu in der Programmierung und möchte nur wissen, wie man die zuvor verschlüsselte Zeichenfolge entschlüsselt. Danke, alle Hilfe ist willkommen.

    
user3101398 14.12.2013, 03:29
quelle

2 Antworten

12
___ tag123c ___ C ist eine universelle Computerprogrammiersprache, die für Betriebssysteme, Bibliotheken, Spiele und andere Hochleistungsanwendungen verwendet wird. Dieses Tag sollte bei allgemeinen Fragen zur C-Sprache verwendet werden, wie in der Norm ISO 9899: 2011 definiert. Fügen Sie ggf. ein versionsspezifisches Tag wie c99 oder c90 für Fragen zu älteren Sprachstandards hinzu. C unterscheidet sich von C ++ und es sollte nicht mit dem C ++ - Tag kombiniert werden, wenn ein rationaler Grund fehlt. ___ qstnhdr ___ So entschlüsseln Sie einfache XOR-Verschlüsselung ___ qstntxt ___

Ich habe die folgende XOR-Verschlüsselungsfunktion im Internet gefunden:

%Vor%

Es funktioniert perfekt, aber ich möchte die Zeichenfolge auch entschlüsseln.

Zum Beispiel:

%Vor%

Nachdem ich die Zeichenfolge verschlüsselt habe, würde ich also den gleichen Verschlüsselungsschlüssel verwenden, um die zuvor verschlüsselte Zeichenfolge zu entschlüsseln.

Ich bin ziemlich neu in der Programmierung und möchte nur wissen, wie man die zuvor verschlüsselte Zeichenfolge entschlüsselt. Danke, alle Hilfe ist willkommen.

    
___ tag123encryption ___ Verschlüsselung ist der Prozess der Umwandlung von Information (Klartext genannt) in eine unlesbare Form (Ciphertext genannt) unter Verwendung eines Verschlüsselungsalgorithmus kombiniert mit einem Parameter (genannt Verschlüsselungsschlüssel). Nur diejenigen, die den Entschlüsselungsschlüssel besitzen, können den Prozess umkehren und den ursprünglichen Klartext wiederherstellen. Konzeptionelle Fragen zur Verschlüsselung können auf crypto.stackexchange.com bessere Antworten liefern. ___ tag123xor ___ Für Fragen mit Exklusiv-Oder-Operationen (typischerweise bitweise). ___ answer20579378 ___

Mit XOR ist die Entschlüsselung genau die gleiche Operation wie die Verschlüsselung. Führen Sie die verschlüsselte Zeichenfolge durch die %code% -Methode erneut denselben Schlüssel) und Sie haben den einfachen Text zurück.

Warnung 1: Nullzeichen

Eine Sache, auf die Sie achten sollten: Wenn das Zeichen in der Zeichenfolge mit dem entsprechenden Zeichen im Schlüssel übereinstimmt, lautet Ihr Ergebnis %code% . Dies wird von Ihrem aktuellen Code als "Ende der Zeichenkette" interpretiert und würde die Entschlüsselung kurz anhalten. Um dies zu umgehen, möchten Sie die Länge der "tatsächlichen" Zeichenfolge als Parameter an Ihre Funktion übergeben.

Warnung 2: kurze Tasten

Sie sollten auch sicherstellen, dass Sie nicht über das Ende Ihres Schlüssels hinauslaufen. Wenn der einfache Text sehr lang ist, müssen Sie den Schlüssel möglicherweise wiederholen. Sie können dies mit dem Operator %code% tun - recyceln Sie den Schlüssel einfach von Anfang an.

Hier ist ein vollständiges Beispiel, das diese Techniken zeigt:

%Vor%

Dies (ohne das Problem mit kay == string) führt zu einer verkürzten Entschlüsselung (die %code% in %code% stimmt mit dem gleichen Buchstaben in %code% überein):

%Vor%

Wenn Sie die Zeile, die ich oben markiert habe, weglassen (d. h. den Wert von %code% als ursprüngliche Länge der Zeichenfolge beibehalten), lautet Ihr Ergebnis

%Vor%

genau wie Sie es erwarten würden.

    
___
dmitrig01 14.12.2013, 03:35
quelle
10

Mit XOR ist die Entschlüsselung genau die gleiche Operation wie die Verschlüsselung. Führen Sie die verschlüsselte Zeichenfolge durch die xor_encrypt -Methode erneut denselben Schlüssel) und Sie haben den einfachen Text zurück.

Warnung 1: Nullzeichen

Eine Sache, auf die Sie achten sollten: Wenn das Zeichen in der Zeichenfolge mit dem entsprechenden Zeichen im Schlüssel übereinstimmt, lautet Ihr Ergebnis '%' . Dies wird von Ihrem aktuellen Code als "Ende der Zeichenkette" interpretiert und würde die Entschlüsselung kurz anhalten. Um dies zu umgehen, möchten Sie die Länge der "tatsächlichen" Zeichenfolge als Parameter an Ihre Funktion übergeben.

Warnung 2: kurze Tasten

Sie sollten auch sicherstellen, dass Sie nicht über das Ende Ihres Schlüssels hinauslaufen. Wenn der einfache Text sehr lang ist, müssen Sie den Schlüssel möglicherweise wiederholen. Sie können dies mit dem Operator i tun - recyceln Sie den Schlüssel einfach von Anfang an.

Hier ist ein vollständiges Beispiel, das diese Techniken zeigt:

%Vor%

Dies (ohne das Problem mit kay == string) führt zu einer verkürzten Entschlüsselung (die plain in key stimmt mit dem gleichen Buchstaben in n überein):

%Vor%

Wenn Sie die Zeile, die ich oben markiert habe, weglassen (d. h. den Wert von %code% als ursprüngliche Länge der Zeichenfolge beibehalten), lautet Ihr Ergebnis

%Vor%

genau wie Sie es erwarten würden.

    
Floris 14.12.2013 03:31
quelle

Tags und Links