pgcrypto

PostgreSQL 🟡 Mid

Définition

Extension fournissant des fonctions de chiffrement : gen_random_uuid(), crypt() pour le hashing de mots de passe, pgp_sym_encrypt/decrypt pour le chiffrement symétrique.

Analogie

Un coffre-fort intégré directement dans la base de données.

Exemple de code

CREATE EXTENSION pgcrypto;
-- UUID
SELECT gen_random_uuid();
-- Hash password
SELECT crypt('password', gen_salt('bf'));

Cas d'usage

Générer des UUIDs ou hasher des mots de passe directement dans la base sans code applicatif.

Anti-pattern

Stocker des mots de passe en clair ou avec MD5 au lieu d'utiliser bcrypt via crypt().
#sgbd#interview#database#postgresql#security

En entretien

  1. Explique-moi ce que fait l'extension pgcrypto.

    pgcrypto fournit des fonctions de chiffrement directement dans la base, comme gen_random_uuid() pour générer des UUIDs et crypt() pour hasher des mots de passe. On peut la voir comme un coffre-fort intégré à la base de données.

  2. Quelle erreur faut-il éviter concernant le stockage des mots de passe ?

    Il faut éviter de stocker des mots de passe en clair ou hashés en MD5. Il vaut mieux utiliser crypt() avec bcrypt via gen_salt('bf') pour un hashing sécurisé.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre