makekey(1) makekey(1)
NAME
makekey - Code für Verschlüsselung festlegen
SYNTAX
/usr/lib/makekey
BESCHREIBUNG
makekey ist ein Verschlüsselungsprogramm. Es wird vor allem zum Ver-
schlüsseln von Paßwörtern benutzt (passwd).
Das Kommando liest von der Standard-Eingabe und wird normalerweise in
Pipes verwendet.
Arbeitsweise
makekey verarbeitet eine Eingabe von 10 Zeichen. Die letzten beiden
Zeichen (Auswahl-Zeichen) legen den Verschlüsselungs-Algorithmus fest,
mit dem die ersten 8 Zeichen verschlüsselt werden.
Die ersten acht Zeichen dürfen beliebige ASCII-Zeichen sein. Die letz-
ten beiden Zeichen sollten Buchstaben, Ziffern oder die Zeichen Punkt
"." bzw. Schrägstrich "/" sein.
makekey gibt zunächst die beiden Auswahl-Zeichen aus. Dann folgen die
11 Byte, die die Verschlüsselung darstellen.
Vorsicht:
makekey kann unterschiedliche Ergebnisse liefern, abhängig davon,
ob die Eingabe am Bildschirm oder von einer Datei aus erfolgt.
BEISPIEL
Mit der Shell-Prozedur pass.proz definieren Sie mit Hilfe von
/usr/lib/makekey ein Paßwort und fragen dieses Paßwort anschließend
ab. Die Shell-Prozedur pass.proz hat folgenden Inhalt:
:
SECRETKEY='A/'
#
# EINLESEN UND VERSCHLUESSELN EINES NEUEN PASSWORTES
#
size=0
while [ "$size" -lt "8" ]
do echo -n 'Geben Sie ein Passwort ein (mindestens 8 Zeichen):'
stty -echo
read passwort
echo
stty echo
set `echo -n $passwort | wc -c`
size=$1
done
#
# Das Passwort wird auf 8 Zeichen maximal gestrippt:
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
makekey(1) makekey(1)
#
passwort="`echo $passwort | awk '{x=substr($0,1,8); \
printf("%8s\n",x);}'`"
#
# Anhaengen des geheimen Keys an das Passwort, Verschluesselung des
# Passworts
#
passwort="`echo $passwort$SECRETKEY | /usr/lib/makekey`"
#
# Vom verschluesselten Passwort wird der geheime Key weggestrippt
#
CODEDPWD="`echo $passwort | \
awk '{x=substr($0,3,11);printf("%11s\n",x);}'`"
#
# VERWENDUNG EINES VERSCHLUESSELTEN PASSWORTS
#
echo -n 'Geben Sie das Passwort ein :'
stty -echo
read passwort
echo
stty echo
#
# Das Passwort wird auf maximal 8 Zeichen gestrippt:
#
passwort="`echo $passwort | awk '{x=substr($0,1,8); \
printf("%8s\n",x);}'`"
#
# Am Passwort wird der geheime Key angehaengt; \
# Passwort wird verschluesselt
#
passwort="`echo $passwort$SECRETKEY | /usr/lib/makekey`"
if [ "$passwort" != "$SECRETKEY$CODEDPWD" ]
then echo 'Falsches Passwort'
else echo 'Sie haben richtig getippt !!!'
fi
SIEHE AUCH
crypt(1), ed(1), vi(1), passwd(4).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98