XOR - Einfacher Verschlüsselungsalgorithmus

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich habe heute mittels XOR einen kleinen (81 Zeilen langen) Algorithmus geschrieben, um Strings zu verschlüsseln.
    Das ganze funktioniert mittels XOR.


    Anwendungsbeispiel:



    Download (Source Code):


    http://pastebin.com/0EY6Zr6P

    Informationen:


    Man kann der Verschlüsselungsfunktion einen Key mitgeben, welcher zum Verschlüsseln verwendet wird.
    Wenn man einen angibt, muss man beim Entschlüsseln ebenfalls den selben Key angeben.
    Gibt man keinen Key an, wird ein zufälliger an den String angehängt (string:[KEY]).
    Dieser wird beim Entschlüsseln automatisch wieder ausglesen.


    Beispiel:



    // Ohne Key


    new string[128] = "Das ist ein längerer Satz!";
    new encrypted[128];
    new decrypted[128];

    EncryptByXOR(string, encrypted, sizeof(encrypted));
    DecryptByXOR(encrypted, decrypted, sizeof(decrypted));


    printf("[BASE - SOURCE] %s", string);
    printf("[BASE - ENCRYPTED] %s", encrypted);
    printf("[BASE - DECRYPTED] %s", decrypted);


    // Mit key


    new string[128] = "Das ist ein längerer Satz!";
    new encrypted[128];
    new decrypted[128];


    EncryptByXOR(string, encrypted, sizeof(encrypted), 150);
    DecryptByXOR(encrypted, decrypted, sizeof(decrypted), 150);


    printf("[BASE - SOURCE] %s", string);
    printf("[BASE - ENCRYPTED] %s", encrypted);
    printf("[BASE - DECRYPTED] %s", decrypted);


    Anwendung könnte es bspw. beim Verschlüsseln von User-Informationen finden.


    Lizenz


    Das Copyright in der Datei muss erhalten bleiben!
    Ihr dürft das Script nicht anderweitig publizieren oder verkaufen!

    Lg, namespace.


    #Brotfischbaron


    In schā'a llāh

  • Kleine Frage, wenn der String irgendwie mit dem Key verrechnet wird (eben per XOR) und man den Key zur Entschlüsselung braucht, wie funktioniert dann das Encrypten mit einem zufälligen Key? Der ist ja immerhin nicht angegeben, da zufällig.


    Mit freundl. Grüßen
    Padarom

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • Es gibt zwei Anwendungsvarianten:


    Variante 1:
    Man übergibt beim Ver- und Entschlüsseln keinen Key.
    Dann wird dieser beim Verschlüsseln hinten an den verschlüsselten String angehängt (:KEY), und beim Entschlüsseln wieder ausgelesen.


    Variante 2:
    Man übergibt beim Ver- und Entschlüsseln den selben Key.
    Dann wird dieser nicht angehängt, und einfach zum Ver- und Entschlüsseln verwendet.


    Die Varianten finden sich übrigends oben ebenfalls als Beispiel.


    #Brotfischbaron


    In schā'a llāh

  • Achso sorry, hatte das übersehen, beziehungsweise diese ("Gibt man keinen Key an, wird ein zufälliger an den String angehängt (string:[KEY]).") Aussage nicht ganz so verstanden, dass der Key am Ende angehängt wird.

    Ich bin
    .. seit etwa 2007 in der Webentwicklung tätig, seit 2013 professionell
    .. Erfahrener Entwickler in PHP, Swift, Javascript, Typescript und Ruby. Zusätzlich habe ich Erfahrung in Python, Java, C#, C++, Prolog und einigen esoterischen Programmiersprachen
    .. Luftfahrtenthusiast und Segelflieger

  • weil das nicht für passwörter benutzt werden soll, aber für e-mail adressen, also daten, die man auch wieder decrypten muss um sie im script verwenden zu können.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen