---
id: "ripemd160hash"
kind: "datatype"
status: "stable"
is_pii: false
categories: ["cryptography"]
langs: ["common"]
quality: 85
url: "http://registry.apicrafter.io/datatype/ripemd160hash"
---

# RIPEMD-160 hash (`ripemd160hash`)

Digest of the RIPEMD-160 hash function (160 bits), used for example in Bitcoin addresses. It is written as 40 hexadecimal digits. SHA-1 and RIPEMD-160 digests have the same length, so the value alone does not tell them apart: use the field name or context.

- Parent datatype: `hash`
- Personal data (PII): no
- Categories: Cryptographic identifiers (cryptography)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier

## Detection

Regular expression (Python `re`):

```
^[0-9a-fA-F]{40}$
```

## Examples

- `9c1185a5c5e9fc54612808977ee8f548b2258d31` — RIPEMD-160 hash of the empty string
- `8eb208f7e05d987a9b044a8e98c6b087f15a0bfc` — RIPEMD-160 hash of the string 'abc'
- `9c1185a5c5e9fc54612808977ee8f548b2258d3` (invalid example) — one hex digit short (39 instead of 40)

## Metacrafter rules

2 rules: 1 match the field name, 1 match values.

- `ripemd160hash` (data, `basic/crypto.yaml`)
- `ripemd160hash_by_field` (field, `basic/crypto.yaml`)

## Supported by tools

- `metacrafter`

## Sources

- wikipedia: <https://en.wikipedia.org/wiki/RIPEMD>
- other: <https://homes.esat.kuleuven.be/~bosselae/ripemd160.html>

## Quality

Score 85/100. Missing: mapping (Wikidata, Schema.org, ...), translation.

JSON: <http://registry.apicrafter.io/api/v1/datatypes/ripemd160hash.json> · Edit: <https://github.com/apicrafter/metacrafter-registry/edit/main/data/datatypes/any/cryptography/ripemd160hash.yaml>
