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 sha224 sha256 sha384 sha512/224 sha512/256 sha512 sha3-224 sha3-256 sha3-384 sha3-512 ripemd128 ripemd160 ripemd256 ripemd320 whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4 tiger192,4 snefru snefru256 gost gost-crypto adler32 crc32 crc32b fnv132 fnv1a32 fnv164 fnv1a64 joaat 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>";}