---
id: "md5hash"
kind: "datatype"
status: "stable"
is_pii: false
categories: ["cryptography", "software"]
langs: ["common"]
aliases: ["md5"]
quality: 95
url: "http://registry.apicrafter.io/datatype/md5hash"
---

# MD5 hash (`md5hash`)

Digest of the MD5 hash function (128 bits), often used as a checksum of a file or as a record fingerprint. MD5 is not collision-resistant and must not be used for security. It is written as 32 hexadecimal digits.

- Parent datatype: `hash`
- Personal data (PII): no
- Categories: Cryptographic identifiers (cryptography), Software development (software)
- Countries: global
- Languages: Common to most languages (common)
- Classification: identifier
- Former IDs: `md5`

## Detection

Regular expression (Python `re`):

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

## Examples

- `d41d8cd98f00b204e9800998ecf8427e` — MD5 hash of the empty string
- `900150983cd24fb0d6963f7d28e17f72` — MD5 hash of the string 'abc'
- `d41d8cd98f00b204e9800998ecf8427` (invalid example) — one hex digit short (31 instead of 32)

## Mappings

- autotype: `md5`

## Metacrafter rules

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

- `md5hash` (data, `basic/crypto.yaml`)
- `md5hash_by_field` (field, `basic/crypto.yaml`)
- `md5hashbyvalue` (data, `common/software.yaml`)

## Supported by tools

- `autotype`
- `greatexpectations`
- `metacrafter`
- `metacrafterpro`

## Sources

- wikipedia: <https://en.wikipedia.org/wiki/MD5>
- doc: <https://www.rfc-editor.org/rfc/rfc1321>

## Quality

Score 95/100. Missing: translation.

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