. -:
$hash = hash('sha256', $pass);
$salt = createSalt();
$hash = hash('sha256', $salt . $hash . $pass);
, ( SHA-256 ). , foo, bar sha256... $hash , , - :
$hash = hash('sha256', 'foo'); // "test" for example
$hash = hash('sha256', 'bar'); // "test" since it a collision
$newHash = hash('sha256', $salt . $hash); //The same for both foo and bar!
, , ...
: , (-):
function createSalt() {
$length = mt_rand(64, 128);
$salt = '';
for ($i = 0; $i < $length; $i++) {
$salt .= chr(mt_rand(33, 255));
}
return $salt;
}
( ), , ( ). , ISO-8859-1 (Latin-1). UTF-8. , 255 127 ( )...