-
MD5 Hash salzer funktion
Hi,
hab hier ne funktion zum md5 hash salzen geschrieben:
PHP-Code:
function salty ($hash, $itemcut)
{
$salt = strrev($hash);
$length = strlen($hash);
$saltElements = ceil($length / $itemcut);
$str = '';
for($i = 0; $i < $saltElements; $i++)
{
$startItem = $i * $itemcut;
$endItem = $itemcut;
$str .= substr($hash, $startItem, $endItem);
$str .= $salt+++91;$i+++93;;
}
return $str;
}
function desalty ($hash, $itemcut)
{
$length = strlen($hash); /
$saltElements = floor($length / $itemcut);
$str = '';
$itemcut1 = $itemcut++;
for($i = 0; $i < $saltElements; $i++)
{
$startItem = $i * $itemcut;
$endItem = $itemcut1;
$str .= substr($hash, $startItem, $endItem);
}
return $str;
}
+++91; = [
+++93; = ]
-
ich bin mir nicht sicher ob du das Prinzip "salted Hash" verstanden hast ^^
PHP-Code:
$password = "secret";
$salt = randomString(); // muss noch geschrieben werden.. wie lang der String ist ist dir überlassen ;)
$salted_hash = md5( md5( $password ) . $salt );
"desalt" ist nicht notwendig, wenn du das Passwort prüfen willst nimmst du den gespeicherten Wert, machst mit dem input das gleiche wie oben (wichtig, der gleiche Salt!) und vergleichst dann die Prüfsummen ;)
-
mh? dachte immer es soll den md5 hash noch weiter verschleiern
-
Tut es auch ;)
Dadurch dass es unendlich viele Salt-Kombinationen gibt, fallen Rainbowtables weg
Und Bruteforce dauert deutlich länger weil pro Versuch mehr gerechnet werden muss ;)
-
ja meine funktion verschleiert doch auch ganz fein ;)