Zahl in Buchstaben umwandeln

Ich hab folgendes Problem:
Ich versuch ein Verschlüsselungsprogramm für Schriftnachrichten zu programmieren un komm nicht weiter.
Ich benutz den C++ Builder von Bordland.
Mein eigentliches Problem ist das ich will das wenn ich in Edit1 z.B schreibe „233“ in Edit2 A erscheint ,ich hab schon zich Möglichkeiten durchprobiert , könnt ihr mir da weiterhelfen?
Würde mich über eine schnelle Antwort freuen.
Danke schonmal im Vorraus.

Hallo!

Mein eigentliches Problem ist das ich will das wenn ich in
Edit1 z.B schreibe „233“ in Edit2 A erscheint ,ich hab schon
zich Möglichkeiten durchprobiert , könnt ihr mir da
weiterhelfen?

Nach welcher Gesetzmäßigkeit soll denn aus 233 ein „A“ werden? Was wird z.B. aus 127 für ein Zeichen?

Jan

Es gibt keine Gesetzmäßikeit , das währe zu leicht zu entschlüsseln.
für jeden Buchstaben oder Satzzeichen steht eine vorher zufällig festgelegte Zahl. Deshalb kann der Programmcode auch etwas länger werden.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Es gibt keine Gesetzmäßikeit , das währe zu leicht zu
entschlüsseln.
für jeden Buchstaben oder Satzzeichen steht eine vorher
zufällig festgelegte Zahl. Deshalb kann der Programmcode auch
etwas länger werden.

Das ergibt keinen Sinn. Wozu soll denn das gut sein?
Du könntest ja dann auch den einzelnen Buchstaben ‚A‘
für eine vollständige Nachricht an einen Empfänger
verwenden, der diese kennt. Oder Du sendest dem
Empfänger eine „12“ und dieser weiss, dass es der
Witz Nummer 12 ist, den ihr beide kennt.

Das ist nett, hat aber nichts mit Verschlüsselung
zu tun.

Grüße

CMБ

Ich glaub du verstehst nicht ganz wie das Programm gedacht ist.
Das ist für Chatnarichten die kein anderer lesen soll und funktioniert so:
ich bekomm die nachricht z.B 887-135-221-221-552 (hallo)
immer drei Ziffern stehn für eine Zahl.
Die Zahlen geb ich ein und das Programm zeigt mir Hallo an weil ich im beigebracht haben mir für 887 H anzuzeigen und für 135 A usw.
Das ist im Prinzip ne ganz simple Verschlüsselungsmethode die auch Ohne PC funktionier , das Programm ist nur dafür gedacht das schneller zu erledigen weil ich keine Lust habe das immer von Hand zu entzifern , ich und en par Kumpels von mir benutzen das nämlich schon länger.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!

Ich glaub du verstehst nicht ganz wie das Programm gedacht
ist.
Das ist für Chatnarichten die kein anderer lesen soll und
funktioniert so:
ich bekomm die nachricht z.B 887-135-221-221-552 (hallo)
immer drei Ziffern stehn für eine Zahl.
Die Zahlen geb ich ein und das Programm zeigt mir Hallo an
weil ich im beigebracht haben mir für 887 H anzuzeigen und für
135 A usw.

Das ist eine sog. ‚Substitution‘. Du ‚übersetzt‘ das
Alphabet Deines Textes in ein Alphabet, das nur Du
und der Empfänger kennen. Wie das Alphabet aussieht,
ist nebensächlich, hauptsache der Empfänger kennt es
auch.

Diese Übersetzung bleibt jeweils für die gesamte
Nachricht konstant. Am simpelsten schreibt man
sich das in ein paar Zeilen Javascript, da braucht
man Text und Chiffre nur von einem Brauserfenster
in das nächste zu kopieren.

Grüße

CMБ

Würd ich gern nur leider bin ich noch Anfänger was Programieren angeht und beherche nur die Grundlagen von C++ und kann mit batch umgehn (bin auch erst 15 und noch Schüler) aber mit Java hab ich mich noch nicht beschäftigt. Köntest du mir erklären wo ich Infos darüber finden kann oder ob es schon solche Scripts gibt die man anpassen kann?
Wer dir echt dankbar.

Gruß Christian

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo

Hi,

unabhängig davon, ob deine ‚Verschlüsselung‘ sicher ist oder nicht, hab ich noch nen Tipp zu deiner Fragestellung.
Wenn du eine Substitution der dreistelligen Zahlen in Buchstaben machen möchtest, könntest legst du eine Tabelle mit den Zahlenwerten an, bei der jeder Zahl ein Buchstabe zugewiesen wird und aus der du dann die Werte list. Z.B. so

class CCode
{
public:
 CCode(void)
 {
 tabelle[233]='A';
 tabelle[482]='B';
 // [...] hier alle Buchstaben definieren
 };
 ~CCode(void){};
 char get(int wert)
 {
 if ((wert999))
 return 0;
 return tabelle[wert];
 };
private:
 char tabelle[1000];
};

Wenn du jetzt die Werte substituieren willst, benutzt du einfach

CCode code;
char buchstabe;
buchstabe=code.get(233); // Gibt den Buchstaben 'A' aus.

Wenn der Code nachher gut laufen soll, solltest du den Speicher den die Zeichentabelle belegt noch ausnullen.

Ist jetzt zwar keine schöne Lösung, sollte aber funktionieren.

Gruß Yelmalio

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Diese Übersetzung bleibt jeweils für die gesamte
Nachricht konstant. Am simpelsten schreibt man
sich das in ein paar Zeilen Javascript , da braucht
man Text und Chiffre nur von einem Brauserfenster
in das nächste zu kopieren.

[…]

Würd ich gern nur leider bin ich noch Anfänger was
Programieren angeht und beherche nur die Grundlagen von C++
und kann mit batch umgehn (bin auch erst 15 und noch Schüler)
aber mit Java hab ich mich noch nicht beschäftigt.

Nur der Vollständigkeit halber: Javascript und Java sind komplett verschiedene Dinge.

http://www.webmaster-eye.de/JavaScript-versus-Java-D…

Gruß

Fritze

Hallo!

aber mit Java hab ich mich noch nicht beschäftigt. Köntest du
mir erklären wo ich Infos darüber finden kann oder ob es schon
solche Scripts gibt die man anpassen kann?

Ich hab mein zufällig rumliegendes Skript (Javascript)
noch mal verändert, da zu viele Fehler drin waren. Das musst
Du aber immer noch als z.B. code.html abspeichern und dann im
Brauser aufrufen.

Grüße

CMБ

==>

Code
body { background-color:black }
form { display:block; float:left; background-color:#FFFFCC;
width:auto; height:auto; margin:4px; padding:4px; }
form textarea { background-color:#CCFFFF; }

function Pageinfo(code, kt, ch) {
this.code = code
this.klartext = kt, this.chiffre = ch
this.fromtext = Array(), this.fromcode = Array()
}

function shuffled_array(imin, imax) {
var len = imax - imin + 1
var arr = Array()
for(var i=0; i<len; i++)
arr[i] = imin + i
for(var i=0; i<len; i++) {
var t = arr[i], p = parseInt(Math.random()*len)
arr[i] = arr[p], arr[p] = t
}
return arr
}

function reset_ctb() {
R.fromtext = Array(), R.fromcode = Array()
for(var i=0; i<900; i++) R.fromcode[i] = ‚.‘
for(var i=0; i<256; i++) {
var z = String.fromCharCode( i )
R.fromtext[z] = i+100
R.fromcode[i+100] = z
}
}

function create_new_ctb() {
var rand_array = shuffled_array(100, 999);
reset_ctb()
for(var i=0; i<256; i++) {
var z = String.fromCharCode( i )
R.fromtext[z] = rand_array[i]
R.fromcode[rand_array[i]] = z
}
}

function reread_ctb() {
var r = /(\d{3})\s+--\s+chr((\d+))/mg
var t = R.code.value, line
R.code.value = ‚‘
reset_ctb()
while( (line = r.exec(t)) != null ) {
var z = String.fromCharCode( line[2] )
R.fromtext[z] = line[1]
R.fromcode[line[1]] = z
}
}

function display_ctb() {
var t = ‚‘
for(var i=0; i<32; i++) {
var z = String.fromCharCode( i )
t += R.fromtext[z]+’ – ‚+‚chr(‘+i+‘) ‚+LowAsciiNames[i]+"\n"
}
for(var i=32; i<256; i++) {
var z = String.fromCharCode( i )
t += R.fromtext[z]+‘ – ‚+‚chr(‘+i+‘) '+z+"\n"
}
R.code.value = t
}

function decode() {
var t = R.chiffre.value.replace(
/\d\d\d[\s,]/g, function(s) { return R.fromcode[parseInt(s)] } )
return R.klartext.value = t
}

function encode() {
var t = R.klartext.value.replace(
/[\s\S]/g, function(s) { return R.fromtext[s]+’ ’ } )
return R.chiffre.value = t
}

window.onload = function () {
R = new Pageinfo( document.getElementById(‚code‘),
document.getElementById(‚text‘),
document.getElementById(‚blurb‘) )
reset_ctb()
}

var R;
var LowAsciiNames = [‚NUL‘,‚SOH‘,‚STX‘,‚ETX‘,‚EOT‘,‚ENQ‘,‚ACK‘,‚BEL‘,
‚BS‘,‚HT‘,‚LF‘,‚VT‘,‚FF‘,‚CR‘,‚SO‘,‚SI‘,‚DLE‘,‚DC1‘,‚DC2‘,‚DC3‘,
‚DC4‘,‚NAK‘,‚SYN‘,‚ETB‘,‚CAN‘,‚EM‘,‚SUB‘,‚ESC‘,‚FS‘,‚GS‘,‚RS‘,‚US‘];

Codetabelle

Klartext

Chiffre