Hashing
O hashing é comumente utilizado para diversos propósitos, como verificar a integridade dos dados, criar identificadores únicos para conjuntos de dados e muito mais. Solidity fornece funções de hash incorporadas que implementam algoritmos de hash seguros e eficientes.
Duas funções merecem destaque: keccak256
e sha256
.
O algoritmo keccak256
é uma versão do SHA-3 (Secure Hash Algorithm 3) e é amplamente utilizado no ecossistema Ethereum, por exemplo, para calcular endereços Ethereum, gerar identificadores únicos, criar provas de existência de dados (através de merkle trees) e na implementação de mecanismos de compromisso.
sha256
faz parte da família de algoritmos SHA-2 e é amplamente utilizado fora do Ethereum para garantir a integridade dos dados. Embora menos comum no Ethereum que keccak256
, sha256
é usado quando é necessária interoperabilidade com sistemas que utilizam SHA-256 como padrão de hashing.
Funções de hashing
keccak256(bytes memory)
Retorna o hash Keccak-256 da entrada
sha256(bytes memory)
Retorna o hash SHA-256 da entrada
ripemd160(bytes memory)
Retorna o hash RIPEMD-160 da entrada
ecrecover(bytes32 hash, uint8 v, bytes32 r, bytes32 s)
Usando uma assinatura de curva elíptica, retorna o endereço associado à chave pública, ou em caso de erro, retorna zero.
Exemplo
Last updated