$random =
$this->
get_random_bytes(16
);
$hash =
crypt($password,
$this->
gensalt_blowfish($random));
if (strlen($hash) === 60
) return $hash;
} if (strlen($random) < 6
) $random =
$this->
get_random_bytes(6
);
$hash =
$this->
crypt_private($password,
$this->
gensalt_private($random));
if (strlen($hash) === 34
) return $hash;
# Returning '*' on error is safe here, but would _not_ be safe
# in a crypt(3)-like function used _both_ for generating new
# hashes and for validating passwords against existing hashes.
return '*';
} function CheckPassword($password,
$stored_hash) {