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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 86884
Url: https://administrator.de/forum/buchstaben-durch-andere-buchstaben-ersetzten-86884.html
Ausgedruckt am: 23.12.2024 um 03:12 Uhr
6 Kommentare
Neuester Kommentar
@ Michi262
Hi,
guckst du -> Buchstaben Verschiebung von variable also "uftu" zurück nach "test"
Gruß
Günni
Hi,
guckst du -> Buchstaben Verschiebung von variable also "uftu" zurück nach "test"
Gruß
Günni
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_
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_
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;
}
Ich will mir nen geheimsprachen
übersetzter schreiben
ü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
Nur so als kleine Randnotiz
Nils
switch (text[i])
{
case 'a':
{
text[i] =
'z';
break;
}
Das finde ich aber echt umständlich.{
case 'a':
{
text[i] =
'z';
break;
}
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