SPB Git forge

spb/immbot-ai

Public
1commits 1branches 0releases
1.5 MBsize
maindefault branch
20 days agolast push
TypeScript 98.3% CSS 0.9% Shell 0.7%
814 B · 21 lines typescript
Raw Blame History
1import bcrypt from "bcryptjs";23const FORBIDDEN = new Set(["admin123", "password", "motdepasse", "12345678", "azertyuiop"]);45export function hashPassword(plain: string): string {6  return bcrypt.hashSync(plain, 12);7}89export function verifyPassword(plain: string, hash: string): boolean {10  return bcrypt.compareSync(plain, hash);11}1213/** Politique de mot de passe. Retourne null si valide, sinon le message d'erreur. */14export function passwordPolicyError(plain: string, opts?: { allowInitial?: boolean }): string | null {15  if (opts?.allowInitial) return null; // seed initial seulement16  if (plain.length < 10) return "Le mot de passe doit contenir au moins 10 caractères.";17  if (FORBIDDEN.has(plain.toLowerCase()))18    return "Ce mot de passe est trop courant — choisissez-en un autre.";19  return null;20}21