Categories
BEST PHP CODE

How to generate Salt for password encryption

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);
}

Leave a Reply