/** * Retorna uma cópia do array com os caracteres das suas chaves alterados para letras maiúsculas. * * Funciona para chaves com codificação UTF-8. * * @access public * @param array $array O array. * @param \Numenor\Php\StringWrapper $stringWrapper Instância do objeto de encapsulamento das operações de strings. * @return array O array com as chaves alteradas. */ public function chaveMaiuscula(array $array, StringWrapper $stringWrapper) : array { $retorno = array(); foreach ($array as $chave => $valor) { $retorno[$stringWrapper->upperCase($chave)] = $valor; } return $retorno; }
/** * Valida um valor contra o checksum informado para o mesmo. * * @access public * @param mixed $valor Valor a ser conferido. * @param string $checksum Checksum informado para o valor. * @return boolean O checksum é válido para o valor informado? * @throws \Numenor\Excecao\ExcecaoChecksumSemChave se a chave definida para utilização na geração de checksums não * foi definida. */ public function validarChecksum($valor, string $checksum) : bool { if (!$this->chave) { throw new ExcecaoChecksumSemChave(); } // array resultante: // [0] = salt // [1] = hash $array = $this->stringWrapper->separar(static::SEPARADOR_SALT_HASH, $checksum); $hash = hash($this->algoritmo, $array[0] . $this->chave . $valor); return $hash === $array[1]; }