Inhaltsverzeichnis

Zufallswerte erzeugen

Zufallswerte kann man mit unterschiedlichen Kommandos erzeugen.

mit OpenSSL

man kann aber auch openssl dafür einsetzen:

# openssl genrsa 2>/dev/null | egrep -v 'BEGIN RSA PRIVATE KEY-----|END RSA PRIVATE KEY-----|=' | tr -d '\n' | rev
# openssl rand -base64 12
vwOmdi4MijmAlfgI

mit Betriebssystem-Mitteln

dieses Kommando funktioniert auf Linux und FreeBSD, ohne das ein zusätzlich installiertes Programm benötigt wird:

> head -c 100 /dev/urandom | base64 | cut -b-12
OrEa05mRElqN

Hier selektiere ich aus den Base64-Zeichen die Alphanumerischen Zeichen ('[:alnum:]') raus, weil es oft unpraktisch ist, wenn diese Zeichenkette beispielsweise ein "/" enthält. Will man diese Zeichenkette in Dateinamen verwenden, dann wäre das fatal.

Mit diesem Kommando kann man auf FreeBSD und Linux eine Datei mit zufälligen sichtbaren Zeichen füllen, bis das Dateisystem komplett voll ist:

> cat /dev/urandom | base64 > base64.txt
> head -n3 base64.txt
fL+3sHJxKP34gV9+xrg8MVnU+DWf2/nugz7u2lGw2letGX+1dWygoD/CJ3NfO4W9wwvj/X7rZ2cv
OSUflcVT8+/waA4hddwn0bPRpc5PQjVUha+JA9YlJGbUT7iZIVqA734CE8Ay/d6D6jrA3827QsPe
NKh8nIHu6s9Ffor/eAJVtiqzXgMazpsKYVdGCwEsxS6hSuMDd17C1ZzwegrnBYqwNRFrH/DA9R3o

Mit diesem Kommando kann man auf FreeBSD und Linux in eine Datei 10000 Zeilen zufällige sichtbare Zeichen, mit 76 Zeichen pro Zeile, schreiben:

> cat /dev/urandom | base64 | head -n 10000 > base64.txt
> wc -l base64.txt
10000 base64.txt
> head -n3 base64.txt
fL+3sHJxKP34gV9+xrg8MVnU+DWf2/nugz7u2lGw2letGX+1dWygoD/CJ3NfO4W9wwvj/X7rZ2cv
OSUflcVT8+/waA4hddwn0bPRpc5PQjVUha+JA9YlJGbUT7iZIVqA734CE8Ay/d6D6jrA3827QsPe
NKh8nIHu6s9Ffor/eAJVtiqzXgMazpsKYVdGCwEsxS6hSuMDd17C1ZzwegrnBYqwNRFrH/DA9R3o

Zufallszahlen

eine achtstellige Zahl:

# head -c 1000 /dev/urandom | tr -cd '[:digit:]' | cut -b-8

eine achtstellige Hexadezimalzahl:

# head -c 1000 /dev/urandom | tr -cd '[:xdigit:]' | cut -b-8

acht Ziffern untereinander:

# head -c 1000 /dev/urandom | tr -cd '[:digit:]' | cut -b-8 | sed 's/./&\n/g'

vier zweistellige Zahlen untereinander:

# head -c 1000 /dev/urandom | tr -cd '[:digit:]' | cut -b-8 | sed 's/../&\n/g'

Zufallsbuchstaben

ein acht Buchstaben langer Zufallswert:

# head -c 1000 /dev/urandom | tr -cd '[:alpha:]' | cut -b-8

Buchstaben und Zahlen

ein acht Zeichen langer Zufallswert, der nur aus Buchstaben und Zahlen bestehen kann:

# head -c 1000 /dev/urandom | tr -cd '[:alnum:]' | cut -b-8

alle sichtbaren Zeichen

ein acht Zeichen langer Zufallswert, der aus allen sichtbaren Zeichen bestehen kann:

# head -c 1000 /dev/urandom | tr -cd '[:graph:]' | cut -b-8

alle Zeichen aus dem Zeichenumfang von Base64 anzeigen

> head -c 1000000 /dev/urandom | base64 | cut -b-10000 | sed 's/./&\n/g' | sort | uniq | tr -d '\n'; echo
+/0123456789=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 
> head -c 1000000 /dev/urandom | base64 | cut -b-10000 | sed 's/./&\n/g' | sort | uniq | nl
 
     1	+
     2	/
     3	0
     4	1
     5	2
     6	3
     7	4
     8	5
     9	6
    10	7
    11	8
    12	9
    13	=
    14	A
    15	B
    16	C
    17	D
    18	E
    19	F
    20	G
    21	H
    22	I
    23	J
    24	K
    25	L
    26	M
    27	N
    28	O
    29	P
    30	Q
    31	R
    32	S
    33	T
    34	U
    35	V
    36	W
    37	X
    38	Y
    39	Z
    40	a
    41	b
    42	c
    43	d
    44	e
    45	f
    46	g
    47	h
    48	i
    49	j
    50	k
    51	l
    52	m
    53	n
    54	o
    55	p
    56	q
    57	r
    58	s
    59	t
    60	u
    61	v
    62	w
    63	x
    64	y
    65	z