BERKIOSDocs
Modules

Passo Native — cryptographie et authentification Berkios

Passo est la bibliothèque cryptographique native de Berkios. Son unique algorithme de stockage des mots de passe est PBKDF2-HMAC-SHA256, implémenté avec node:crypto.

  • Aucun paquet bcrypt ou argon2.
  • Aucune dépendance cryptographique à télécharger à l'installation.
  • Sel aléatoire de 16 octets par mot de passe.
  • 600 000 itérations par défaut, SHA-256, clé dérivée de 32 octets.
  • Comparaison des empreintes avec timingSafeEqual.
  • Comptes, tentatives et sessions persistés dans SQLite (node:sqlite).

API

import passo from './src/index.mjs';
import PassoAuthStore from './src/auth-store.mjs';

const empreinte = await passo.hacher('MonSecretFort2026!');
const valide = await passo.verifier('MonSecretFort2026!', empreinte);

const auth = new PassoAuthStore({ filename: './auth.sqlite' });
await auth.enregistrer('admin', 'MonSecretFort2026!');
const session = await auth.authentifier('admin', 'MonSecretFort2026!');
const utilisateur = auth.verifierSession(session.token);
auth.revoquerSession(session.token);
await auth.changerMotDePasse('admin', 'MonSecretFort2026!', 'UnAutreSecretFort2027!'); // révoque les sessions
auth.purgerSessions();                                  // nettoie sessions expirées
auth.fermer();

Node.js 22+ est requis pour SQLite natif (node:sqlite). Passo n'installe aucun pilote SQLite externe. Les commandes cryptographiques Bridge sont natives et utilisent le même module Passo.