michi262
Goto Top

Buchstaben durch andere Buchstaben ersetzten

Ich will mir nen geheimsprachen übersetzter schreiben und da hab ich mir gedacht: Ich lese den Text in einen Char ein und dann soll er die einzelnen buchstaben ersetzen.

z.B.

A=Z
B=Y

etc.

Aber leider habe ich noch keine Ahnung wie ich das machen soll. Kann mri da bitte wer helfen?

Gruß Michi262

Content-ID: 86884

Url: https://administrator.de/forum/buchstaben-durch-andere-buchstaben-ersetzten-86884.html

Ausgedruckt am: 23.12.2024 um 03:12 Uhr

Guenni
Guenni 03.05.2008 um 07:57:05 Uhr
Goto Top
fdisk
fdisk 03.05.2008 um 09:10:15 Uhr
Goto Top
Hallo,

schau Dir doch mal den Cambridge-Scrambler an - das dürfte genau das sein was Du suchst...

http://www.little-idiot.de/kybernetik/scramble.htm

Gruß, fdisk_
miniversum
miniversum 03.05.2008 um 10:36:29 Uhr
Goto Top
Und wenns flexibler sein soll dann so (ungetestet):
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv)
{
    char text[101];
    int i;

    cout << "Text: ";  
    cin >> text;
    cout << "Alter Text: " << text << "\n";  
    
    for (i=0; i<strlen(text); i++) 
    {
        switch (text[i])
        {
               case 'a':  
               {
                    text[i] = 'z';  
                    break;
               }
               case 'b':  
               {
                    text[i] = 'y';  
                    break;
               }
               case 'c':  
               {
                    text[i] = 'x';  
                    break;
               }
        }
    }
        
    cout << "Neuer Text: " << text << "\n";  

    system("PAUSE");  
    return EXIT_SUCCESS;
}
nils-0401
nils-0401 03.05.2008 um 10:54:00 Uhr
Goto Top
Ich will mir nen geheimsprachen
übersetzter schreiben

So ein Verfahren mit statischen Ersetzungen ist innerhalb sehr kurzer Zeit zu entschlüsseln. Nimm einen Brief von einer Seite. Es gibt einfach Typische Anfänge und wenn man die ersten Buchstaben hat geht es recht schnell.
Ich habe auf diese Weise mal eine tolle Geheimschrift von einer Freundin geknackt, innerhalb von 15 min mit einer Handgeschriebenen A4 Seite und ein bisschen Grips.

Also mehr eine nette Spielerei als wirklich sicher face-wink
Nur so als kleine Randnotiz

Nils
filippg
filippg 03.05.2008 um 14:08:21 Uhr
Goto Top
switch (text[i])
{
case 'a':
{
text[i] =
'z';
break;
}
Das finde ich aber echt umständlich.
Wie war das, C++ hat auch einen "Map" oder "Directory"-Datentyp? Also eine Collection mit einer Zurordnung Key->Value (wobei idealerweise jeder Key und sogar Value nur einmal vorhanden sein darf)? Dann einfach so eine erstellen, als Key's das ABC, als Value jeweils die Übersetzung. String dann wieder Buchstabenweise durchlaufen und durch die Values ersetzen. Und das tolle: Dieses Directory kann man dann umdrehen (über Directory iterieren und für jedes Key-Value-Paar in einem neuen Directory ein entsprechendes Value-Key-Paar anlegen), dann hat man sogar eine Dekodierung.
Und selbst wenn es keine Directorys geben sollte in C++ würde ich doch dringend ein Array (Index=ASCII-Code) vorschlagen statt dieser switch-Konstruktion.

Übrigens sollte sich im Netz einiges an Einführungen in Kryptografie und Beispiele für leicht zu implementierende Algorithmen finden. Der Aussage, dass so ein Verfahren leicht zu knacken ist kann ich mich nur anschließen, aber darum geht es ja vielleicht auch gar nicht.

Gruß

Filipp
Michi262
Michi262 03.05.2008 um 19:10:22 Uhr
Goto Top
> Ich will mir nen geheimsprachen
> übersetzter schreiben

So ein Verfahren mit statischen Ersetzungen
ist innerhalb sehr kurzer Zeit zu
entschlüsseln. Nimm einen Brief von
einer Seite. Es gibt einfach Typische
Anfänge und wenn man die ersten
Buchstaben hat geht es recht schnell.
Ich habe auf diese Weise mal eine tolle
Geheimschrift von einer Freundin geknackt,
innerhalb von 15 min mit einer
Handgeschriebenen A4 Seite und ein bisschen
Grips.

Also mehr eine nette Spielerei als wirklich

hab ich weiß hab ich auch schon gemacht. nur will ich das versucehn ob das bei wow von den horde spreachen in alli sprachen geht


Michi26206
sicher face-wink
Nur so als kleine Randnotiz

Nils