# Hash

Ox's hash API and its supported Node.js engine primitives.

## Examples

```ts twoslash
// @noErrors
import { Engine } from 'ox'
import { Hash } from 'ox/node'

await Engine.install({ Hash: Hash.engine() })

Hash.sha256('0xdeadbeef')
```

## Functions

| Name                | Description                         |
| ------------------- | ----------------------------------- |
| [`Hash.engine`](/node/crypto/Hash/engine) | Creates a Node.js implementation of the [`Hash`](/api/Hash) engine slot, without installing it. |
| [`Hash.hmac256`](/node/crypto/Hash/hmac256) | Calculates the [HMAC-SHA256](https://en.wikipedia.org/wiki/HMAC) of a [`Bytes.Bytes`](/api/Bytes/types#bytes) or [`Hex.Hex`](/api/Hex/types#hex) value. |
| [`Hash.keccak256`](/node/crypto/Hash/keccak256) | Calculates the [Keccak256](https://en.wikipedia.org/wiki/SHA-3) hash of a [`Bytes.Bytes`](/api/Bytes/types#bytes) or [`Hex.Hex`](/api/Hex/types#hex) value. |
| [`Hash.ripemd160`](/node/crypto/Hash/ripemd160) | Calculates the [Ripemd160](https://en.wikipedia.org/wiki/RIPEMD) hash of a [`Bytes.Bytes`](/api/Bytes/types#bytes) or [`Hex.Hex`](/api/Hex/types#hex) value. |
| [`Hash.sha256`](/node/crypto/Hash/sha256) | Calculates the [Sha256](https://en.wikipedia.org/wiki/SHA-256) hash of a [`Bytes.Bytes`](/api/Bytes/types#bytes) or [`Hex.Hex`](/api/Hex/types#hex) value. |
| [`Hash.validate`](/node/crypto/Hash/validate) | Checks if a string is a valid hash value. |
