Respect\Validation\Rules\NfeAccessKey::validate PHP Method

validate() public method

See also: Manual de Integração do Contribuinte v4.0.1 (http://www.nfe.fazenda.gov.br)
public validate ( string $aK ) : boolean
$aK string access key
return boolean
    public function validate($aK)
    {
        if (mb_strlen($aK) !== 44) {
            return false;
        }
        $w = [];
        for ($i = 0, $z = 5, $m = 43; $i <= $m; ++$i) {
            $z = $i < $m ? $z - 1 == 1 ? 9 : $z - 1 : 0;
            $w[] = $z;
        }
        for ($i = 0, $s = 0, $k = 44; $i < $k; ++$i) {
            $s += $aK[$i] * $w[$i];
        }
        $s -= 11 * floor($s / 11);
        $v = $s == 0 || $s == 1 ? 0 : 11 - $s;
        return $v == $aK[43];
    }
NfeAccessKey