Generate Password with Salt Technic
public function generateSalt(int $size = null) : string { if ($size === null) { $size = 22; } return $this->salt = bin2hex(random_bytes($size)); } /** * Generate Token / HashToken * * @parameter array $salt * * @return string */ public function generateToken(string $salt): string { if ($salt === null) { $salt = $this->generateSalt(); } $options = [ 'cost' => 12, 'salt' => $salt ]; $passwordHash = password_hash( $password, PASSWORD_BCRYPT, $options ); return base64_encode($passwordHash); }
Verify Password Validity
if (password_verify($queryResult[0]['user_uuid'].$queryResult[0]['organization_uuid'], base64_decode($this->session->token))) { // Correct password } else { $this->issue('Token not valid :'.$this->session->token); }