Rexact
Cheatsheet

Regex empreinte SHA-256 (hexadécimal)

Une empreinte SHA-256 (FIPS 180-4) fait 256 bits, soit 64 chiffres hexadécimaux. Les tentatives relues sont plus ou moins strictes : validator.js ancre et accepte majuscules et minuscules, la spécification OCI des images ne prévoit que a-f minuscules et la décrit sans ancres, l'outil IOC de InQuest (iocextract) cherche l'empreinte dans un texte et accepte donc « x » collé devant ou « z » derrière, et hashID accepte un suffixe « :sel » arbitraire. Voici un motif ancré qui accepte les deux casses et rien d'autre, comparé à ces tentatives.

/^[a-fA-F0-9]{64}$/
passe 25/25 cas

Comparatif des patterns existants

Implémentation

const re = new RegExp("^[a-fA-F0-9]{64}$", "");
re.test(input);

Limites

  • Valide seulement la FORME : 64 chiffres hexadécimaux. Rien ne distingue un SHA-256 d'un autre condensé de 256 bits (SHA3-256, BLAKE2s, SHA-512/256…), ni d'une chaîne hexadécimale quelconque de 64 caractères.
  • Les préfixes « sha256: » (OCI, Docker) et « 0x » sont refusés ; retirez-les avant validation. Les deux casses sont acceptées : normalisez en minuscules pour comparer deux empreintes.
  • Ne dit rien de l'intégrité : seule la comparaison avec une empreinte recalculée la prouve.

Pages liées