verschlüsselungsprogramm für textdatei



  • ich wollte euch mal fragen, wie man ein programm programmiert, welches die buchstaben(nur kleine buchstaben) in einer textdatei in die jeweiligen numerischen werte umwandelt, also so a=1, b=2, c=3, ... . das ganze soll als sehr, sehr einfache verschlüsselung dienen.

    bsp.:

    aebjc = 1|5|2|10|3 (natürlich nachher dann ohne striche)

    hat jemand von euch schon mal so etwas programmiert? für ein beispiel oder einen ersten ansatz von euch wäre ich sehr dankbar.



  • Das hat zwar überhaupt nichts mit Verschlüsselung zu tun 😕 , aber in etwa...

    #include <stdio.h>
    
    int main ()
    {
        char c;
        while (!feof (stdin))
        {
            fread (&c, 1, 1, stdin);
            printf ("%d|", c);
        }
        return 0;
    }
    


  • vriqx schrieb:

    aebjc = 1|5|2|10|3 (natürlich nachher dann ohne striche)

    Und wie willst du es ohne Striche wieder eindeutig entschlüsseln?



  • Nexus schrieb:

    vriqx schrieb:

    aebjc = 1|5|2|10|3 (natürlich nachher dann ohne striche)

    Und wie willst du es ohne Striche wieder eindeutig entschlüsseln?

    Fixe Idee: Man könnte festlegen, dass jedes Zeichen durch eine zweistellige Zahl dargestellt wird, beginnend ab 10.

    10111213141516
    A B C D E F G
    

    Das wäre durchaus eine "Verschlüsselung". Dieser Begriff sagt ja nichts über den Aufwand der Entschlüsselung aus.



  • Nexus schrieb:

    vriqx schrieb:

    aebjc = 1|5|2|10|3 (natürlich nachher dann ohne striche)

    Und wie willst du es ohne Striche wieder eindeutig entschlüsseln?

    So ist es wenigsten halbwegs sicher! Hat dann nur mehr von nem Hash-Verfahren 😉

    bb



  • Roger Wilco schrieb:

    Das wäre durchaus eine "Verschlüsselung". Dieser Begriff sagt ja nichts über den Aufwand der Entschlüsselung aus.

    So ein Verfahren nennt man häufiger "Kodierung" und nicht "Verschlüsselung", weil man es rückgängig machen kann, wenn man nur den Algorithmus kennt.



  • Christoph schrieb:

    Roger Wilco schrieb:

    Das wäre durchaus eine "Verschlüsselung". Dieser Begriff sagt ja nichts über den Aufwand der Entschlüsselung aus.

    So ein Verfahren nennt man häufiger "Kodierung" und nicht "Verschlüsselung", weil man es rückgängig machen kann, wenn man nur den Algorithmus kennt.

    also ist rot13 eine kodierung und eine verschlüsselung mit winrar und dem schlüssel "geheim" auch. seltsam.



  • volkard schrieb:

    Christoph schrieb:

    Roger Wilco schrieb:

    Das wäre durchaus eine "Verschlüsselung". Dieser Begriff sagt ja nichts über den Aufwand der Entschlüsselung aus.

    So ein Verfahren nennt man häufiger "Kodierung" und nicht "Verschlüsselung", weil man es rückgängig machen kann, wenn man nur den Algorithmus kennt.

    also ist rot13 eine kodierung und eine verschlüsselung mit winrar und dem schlüssel "geheim" auch. seltsam.

    Rot 13 ist eine Verschlüsselung mit dem Schlüssel k = 13.
    Und wie du nun auf Winrar kommst ist mir schleierhaft?

    Aber sowieso alles eine Glaubensfrage.



  • also erstmal danke für den code. übrigens kann man auch kodierung sagen, aber eigentlich ist es eine sehr alte einfache verschlüsselung, denn man könnte die zahlen ja verschieben. ihr kennt doch sicherlich das prinzip der buchstabenverschiebung im alphabet, oder? so ähnlich wollte ich das auch machen, nur eben mit zahlen. das mit den trennstrichen ist natürlich so eine sache, aber ihr habt mir trotzdem alle sehr geholfen.

    vielen dank @all, vriqx



  • Wenn es auch ok wäre das ganze mit Großbuchstanben zu machen als mit Kleinbuchstanben, sind die zugehörigen ASCII - Werte sowieso alles zweistellige Zahlen da reicht einfach ein

    (int)'A'
    

    um den numerischen Wert der Zahl zu erhalten.

    Ginge zwar auch mit Kleinbuchstaben, doch müsstest du dort einen gewissen Extra-Aufwand betreiben, denn wenn du eine 1 hast musst du dann drei Stellen anstatt von 2 Stellen einlesen (wäre ansonsten genau so wie mit den Großbuchstaben)



  • Nur eben, dass keiner so einen Cast braucht...
    entweder, du machst nen static_cast<int> oder lässt ihn ganz weg, weil er z.bsp. bei int X = 'A'; implizit stattfindet...

    bb


Anmelden zum Antworten