---
id: "pgp_fingerprint"
kind: "datatype"
status: "draft"
is_pii: false
categories: ["cryptography"]
langs: ["common"]
quality: 75
url: "http://registry.apicrafter.io/datatype/pgp_fingerprint"
---

# OpenPGP key fingerprint (`pgp_fingerprint`)

> **Draft.** Draft records have not been reviewed yet and may be incomplete or wrong; do not treat them as authoritative for legal or compliance decisions.

Fingerprint of an OpenPGP key: 40 hexadecimal digits (SHA-1) for version 4 keys and 64 hexadecimal digits (SHA-256) for version 6 keys of RFC 9580. GnuPG prints a version 4 fingerprint as ten groups of four digits with a double space in the middle. Without spaces a version 4 fingerprint looks like a plain SHA-1 hash: use the field name or context.

- 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}|[0-9A-Fa-f]{64}|[0-9A-Fa-f]{4}(?: {1,2}[0-9A-Fa-f]{4}){9})$
```

## Examples

- `C959 BDBA FA32 A2F8 9A15  3B67 8CFD E121 9796 5A9A` — Sample version 4 key of RFC 9580, appendix A.1, as GnuPG prints it
- `C959BDBAFA32A2F89A153B678CFDE12197965A9A` — The same fingerprint without spaces
- `CB186C4F0609A697E4D52DFA6C722B0C1F1E27C18A56708F6525EC27BAD9ACC9` — Sample version 6 key of RFC 9580, appendix A.3
- `8CFDE12197965A9A` (invalid example) — Key ID of the version 4 sample key

## Sources

- doc: <https://www.rfc-editor.org/rfc/rfc9580#section-5.5.4>
- wikipedia: <https://en.wikipedia.org/wiki/Public_key_fingerprint>

## Quality

Score 75/100. Missing: mapping (Wikidata, Schema.org, ...), translation, detector coverage.

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