_section: Hashing Algorithms Explain what hash functions are? _subsection: Cryptographic Hashing The [Cryptographic Hash Functions](link-wiki-cryptographichash) are a specific family of hash functions. _property: ethers.utils.keccak256(aBytesLike) => string<[[datahexstring]]<32>> @ @SRC Returns the [KECCAK256](link-wiki-sha3) digest //aBytesLike//. _property: ethers.utils.ripemd160(aBytesLike) => string<[[datahexstring]]<20>> @ @SRC Returns the [RIPEMD-160](link-wiki-ripemd) digest of //aBytesLike//. _property: ethers.utils.sha256(aBytesLike) => string<[[datahexstring]]<32>> @ @SRC Returns the [SHA2-256](link-wiki-sha2) digest of //aBytesLike//. _property: ethers.utils.sha512(aBytesLike) => string<[[datahexstring]]<64>> @ @SRC Returns the [SHA2-512](link-wiki-sha2) digest of //aBytesLike//. _property: ethers.utils.computeHmac(algorithm, key, data) => string<[[datahexstring]]> @ @SRC Returns the [HMAC](link-wiki-hmac) of //data// with //key// using the [Algorithm](supported-algorithm) //algorithm//. _heading: HMAC Supported Algorithms @ @SRC _property: ethers.utils.SupportedAlgorithm.sha256 => string Use the [SHA2-256](link-wiki-sha2) hash algorithm. _property: ethers.utils.SupportedAlgorithm.sha512 => string Use the [SHA2-512](link-wiki-sha2) hash algorithm. _subsection: Common Hashing Helpers _property: ethers.utils.hashMessage(message) => string<[[datahexstring]]<32>> @ @SRC Computes the [[link-eip-191]] personal message digest of //message//. Personal messages are converted to UTF-8 bytes and prefixed with ``\\x19Ethereum Signed Message:`` and the length of //message//. _property: ethers.utils.id(text) => string<[[datahexstring]]<32>> @ @SRC The Ethereum Identity function computs the [KECCAK256](link-wiki-sha3) hash of the //text// bytes. _property: ethers.utils.namehash(name) => string<[[datahexstring]]<32>> @ @SRC Returns the [ENS Namehash](link-namehash) of //name//. _subsection: Solidity Hashing Algorithms When using the Solidity ``abi.packEncoded(...)`` function, a non-standard //tightly packed// version of encoding is used. These functions implement the tightly packing algorithm. _property: ethers.utils.solidityPack(arrayOfTypes, arrayOfValues) => string<[[datahexstring]]> @ @SRC Returns the non-standard encoded //arrayOfValues// packed according to their respecive type in //arrayOfTypes//. _property: ethers.utils.solidityKeccak256(arrayOfTypes, arrayOfValues) => string<[[datahexstring]]<32>> @ @SRC Returns the [KECCAK256](link-wiki-sha3) of the non-standard encoded //arrayOfValues// packed according to their respective type in //arrayOfTypes//. _property: ethers.utils.soliditySha256(arrayOfTypes, arrayOfValues) => string<[[datahexstring]]<32>> @ @SRC Returns the [SHA2-256](link-wiki-sha2) of the non-standard encoded //arrayOfValues// packed according to their respective type in //arrayOfTypes//.