public function validate(HiddenString $password, HiddenString $pHash, array $migrationData, EncryptionKey $passwordKey = null) : bool
{
if (!$passwordKey) {
if (!$this->key instanceof EncryptionKey) {
throw new \Exception(\__('No key was passed to this migration'));
}
$passwordKey = $this->key;
}
$hash = $this->wordPressCryptPrivate($password, $migrationData['salt']);
return Password::verify($hash, $pHash->getString(), $passwordKey);
}