Sep 24
Ich bin heute auf diesen Blog gestoßen, der eine einfache Möglichkeit aufzeigt, mit der Bash und /dev/random eine Liste von pseudozufälligen Token zu erzeugen.
Ich benutze nun hierfür folgende einfache Befehlskette:
cat /dev/urandom | tr -dc [:alnum:] | fold -w70 | head -n10
Übersetzt heißt das:
- Lese aus dem Blockdevice /dev/urandom (hier könnte man auch /dev/random verwenden)
- Lösche alle nicht alpha-numerischen Zeichen
- Breche den Stream nach 70 Zeichen um (Füge also ein newline ein)
- Gebe die ersten 10 Zeilen aus
Um nun beispielsweise diese Token in eine Tabelle einer Datenbank einfügen zu können, könnte man sich eine .sql Datei folgendermaßen durch ein kleines Shellscript erstellen lassen:
#!/bin/sh TOKEN_LENGTH=70 TOKEN_COUNT=10 TOKEN=$(cat /dev/urandom | tr -dc [:alnum:] |\ fold -w$TOKEN_LENGTH | head -n $TOKEN_COUNT) for line in $TOKEN; do echo "INSERT INTO Tabelle VALUES ($line);" done
Falls das Shellscript also token.sh heißt, dann kann mit $bash token.sh > insert_token.sql ein Script für die Verwendung mit Sql erzeugt werden.
