Prüfsummen
Prüfsummen oder Hashfunktionen sind Einwegverschlüsselungen, die nicht umkehrbar sind. Der ursprüngliche Klartext kann aus der Prüfsumme nicht wieder erzeugt werden. Mit Hilfe der Prüfsummen können Klartexte verglichen werden, wie es bei einer Kennworteingabe üblich ist. Von dem Kennwort wird die Prüfsumme hinterlegt. Diese wird zur Authentifizierung bei der Kennworteingabe mit der Prüfsumme des eingegebenen Kennwortes verglichen.
Hier können Sie Prüfsummen (z.B. für Kennwörter) für die üblichen Internet- und Webserver-Standards erzeugen. Folgende Hash-Algorithmen werden hier unterstützt:
Crypt md2 md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3 haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4 haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5
Crypt benutzt der Apache Webserver, um im AuthUserFile die Prüfsummen der Kennwörter zu hinterlegen.
PHP Code zur Erzeugung der Prüfsummen
Ausschnitt der Passagen, die für die Prüfsummen relevant sind. "$Eingabe" ist der Text, von dem die Prüfsummen gebildet wird.
echo "<p>Crypt ";
if(CRYPT_STD_DES == 1 and CRYPT_SALT_LENGTH == "2")
{echo "(Standard DES-Schlüssel mit 2-Zeichen-Salt)";}
if(CRYPT_EXT_DES == 1 and CRYPT_SALT_LENGTH == "9")
{echo "(Erweiterte DES-basierte Verschlüsselung mit 9-Zeichen-Salt)";}
if(CRYPT_MD5 == 1 and CRYPT_SALT_LENGTH == "12")
{echo "(MD5-Verschlüsselung mit 12-Zeichen-Salt, beginnend mit $1$)";}
if(CRYPT_BLOWFISH == 1 and CRYPT_SALT_LENGTH == "16")
{echo "(Blowfish-Verschlüsselung mit 16-Zeichen-Salt,
beginnend mit $2$ oder $2a$)";}
echo "</p><code>".crypt($Eingabe)."</code>";
foreach(hash_algos() as $Algo)
{echo "<p>".$Algo."</p><code>".hash($Algo, $Eingabe)."</code>";}
