[PHP] Welchen Hash

DerEisige

Erfahrenes Mitglied
Hallo Leute,

Es gibt ja mit PHP 5.3.0 nun 7 weitere Hash Algorithmen, somit steigt die Anzahl der unterstützt Hash Algorithmen auf 42.

nun würde mich interessieren welche Algorithmen ihr für was benützt und wieso?
[0] md2
[1] md4
[2] md5
[3] sha1
[4] sha224
[5] sha256
[6] sha384
[7] sha512
[8] ripemd128
[9] ripemd160
[10] ripemd256
[11] ripemd320
[12] whirlpool
[13] tiger128,3
[14] tiger160,3
[15] tiger192,3
[16] tiger128,4
[17] tiger160,4
[18] tiger192,4
[19] snefru
[20] snefru256
[21] gost
[22] adler32
[23] crc32
[24] crc32b
[25] salsa10
[26] salsa20
[27] haval128,3
[28] haval160,3
[29] haval192,3
[30] haval224,3
[31] haval256,3
[32] haval128,4
[33] haval160,4
[34] haval192,4
[35] haval224,4
[36] haval256,4
[37] haval128,5
[38] haval160,5
[39] haval192,5
[40] haval224,5
[41] haval256,5
PHP:
<?php
    $password = '123';
?>
<table>
    <thead>
        <tr>
            <th>&nbsp;</th>
            <th>Algorithmus</th>
            <th>
                Hash
            </th>
            <th>Zeichenl&auml;nge</th>
        </tr>
    </thead>
    <tbody>
        <?php foreach (hash_algos() as $algo): ?>
            <?php $hash = hash($algo, $password); $s++; ?>
            <tr>
                <td><?php echo $s;?>
                <td><?php echo $algo; ?></td>
                <td><?php echo implode("<br />\n", str_split($hash, 64)); ?></td>
                <td><?php echo strlen($hash); ?></td>
            </tr>
        <?php endforeach; ?>
    </tbody>
</table>
 
Zuletzt bearbeitet:
Für Passwörter: unbedingt bcrypt + Salt
Bei PHP kannst die password_*-Funktionen dafür nutzen, wie alxy schon sagte.

Ansonsten kannst du durchaus MD5 bspw. nutzen, um die Gleichheit zweier Daten festzustellen. (Natürlich kann es Kollisionen geben, aber die Wahrscheinlichkeit, dass du zufällig auf eine triffst, ist extrem gering.)
 
Zurück