Esempio n. 1
0
 /**
  * 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;
 }
Esempio n. 2
0
 /**
  * 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];
 }