• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

ASCII Codes eingeben

Moin,

wie kann ich in der Konsole bzw. in einem Bash Skript ASCII Codes eingeben (z.B. soll ALT+064 @ ergeben)?

Der Hintergrund ist das ich es langsam satt habe mir ellenlange Passwörter zu merken (z.B. das für die - mit Truecrypt verschlüsselte - externe Platte hat 42 Zeichen).
Also dachte ich mir ein kurzes Passwort zu verwenden und das 5 mal durch sha512sum zu pipen. Da das Ergebnis mit 128 Zeichen unnötig lang ist und nur hexadezimale Zeichen benutzt werden sollen immer 2 Zahlen miteinander multipliziert werden, was dann 64 Zeichen mit 256 möglichen Werten ergibt. Da die maximale Passwortlänge bei Treucrypt 64 beträgt und 222 verschiedene ASCII Zeichen existieren würde ich so auf 64^222 mögliche Buchstabenkombinationen kommen.

Kurzum: Es ist wesentlich leichter zu merken und wesentlich sicherer (bitte korrigiert mich wenn ich irgendwo beim logischdenken falsch abgebogen bin ;)).
 
A

Anonymous

Gast
ASCII-Codes kannst du dir in der Bash so ausgeben lassen:

Code:
echo -e "\nnn"

nnn entspricht dem Oktalwert des Zeichens. Die ersten 33(dezimal) Zeichen sind nicht druckbar. ASCII-Tabelle

Mit dem Rest deines Vorhabens kann ich nicht soviel anfangen.
 
OP
B

Blackscreen

Member
Vielen Dank für eure Antworten!

Ich habe es jetzt doch mit Java gemacht, für den Fall dass ich es mal unter Windows, etc. brauche. Auch wenn es keine 64^222 Möglichkeiten wurden da Truecrypt nur druckbare Zeichen des US ASCII Satzes akzeptiert sind es immer noch 64^95.

the_evil_twin schrieb:
... Mit dem Rest deines Vorhabens kann ich nicht soviel anfangen.
Der Sinn besteht darin kurze, leicht zu merkende Passwörter in lange mit Sonderzeichen zu transformieren - z.B. wird mit
Code:
echo "foo" | sha512sum | java Converter
aus "foo" ",[8*7j{GZ(w9O)8}3<(3%Ls>Gdo*1OU1?$!2|29L9V$S%kj_T-tcSlU*UKqwJuHw" - und bis das jemand geknackt hat wird es wahrscheinlich eine ziemliche Weile dauern :lol:.

Wenn es jemanden interessiert, der Java Code ist folgender:
Code:
import java.io.IOException;

class Converter {

	public static void main(String args[]) {
		try {
			String input = "";
			if(args.length == 0) {
				int length = 128;
				byte[] buffer = new byte[length];
				int read = System.in.read(buffer, 0, length);
				input = new String(buffer, 0, read);
			} else {
				input = args[0];
			}
			String output = "";
			int j = input.length() / 2;
			for(int i=0; i<j; i++) {
				int v = Integer.parseInt(input.substring(i*2,(i+1)*2), 16);
				v %= 95;
				v += 32;
				output += (char) v;
			}
			System.out.println(output);
		} catch(IOException e) {
			System.err.println(e.getMessage());
		}
	}

}
 
Blackscreen schrieb:
the_evil_twin schrieb:
... Mit dem Rest deines Vorhabens kann ich nicht soviel anfangen.
Der Sinn besteht darin kurze, leicht zu merkende Passwörter in lange mit Sonderzeichen zu transformieren - z.B. wird mit
Code:
echo "foo" | sha512sum | java Converter
aus "foo" ",[8*7j{GZ(w9O)8}3<(3%Ls>Gdo*1OU1?$!2|29L9V$S%kj_T-tcSlU*UKqwJuHw" - und bis das jemand geknackt hat wird es wahrscheinlich eine ziemliche Weile dauern :lol:.
Ist ja alles nett und schön, nur kann z.B. cryptsetup (es ist mir klar, dass das nicht truecrypt ist) sowas bereits schon.
 
OP
B

Blackscreen

Member
Mir ist nicht ganz klar was du meinst. Das intern nicht das Passwort zur Verschlüsselung verwendet wird sondern dessen, mit Salz versehener, Hash ist klar und bei Truecrypt auch nicht anders.

Hier ist die Idee dass ich mir nicht das eigentliche Passwort merken muss sondern dessen stark vereinfachte Version.

Oder verstehe ich dich hier vollkommen falsch? Wenn ja wäre es klasse wenn du etwas ausführlicher werden könntest inwiefern sowas bei cryptsetup möglich ist.
 
Oben