Back to flin
flin

Hachage de mots de passe Argon2 intégré dans FLIN

Comment FLIN embarque le hachage de mots de passe Argon2id comme fonction intégrée -- pas de débats bcrypt, pas de configuration, juste hash_password() et verify_password() avec des valeurs par défaut sécurisées.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 1 min flin
EN/ FR/ ES
flinargon2passwordhashingsecurity

FLIN fait ce choix pour vous. La fonction hash_password() utilise Argon2id avec des paramètres calibrés. La fonction verify_password() effectue une comparaison à temps constant. Il n'y a pas de configuration, pas de sélection d'algorithme et aucun moyen d'utiliser accidentellement MD5.

flinhash = hash_password("correct horse battery staple")
// "$argon2id$v=19$m=65536,t=3,p=4$..."

is_valid = verify_password("correct horse battery staple", hash)
// true ou false

Paramètres par défaut basés sur les recommandations OWASP 2024 : 64 Mo de mémoire, 3 itérations, 4 threads parallèles, hash de 256 bits, sel de 128 bits. Hachage en environ 200 ms -- assez rapide pour les utilisateurs, assez lent pour les attaquants (~57 ans de GPU par mot de passe).

La sortie au format PHC est auto-descriptive : si nous upgratons les paramètres par défaut, verify_password peut toujours vérifier les hashs créés avec les anciens paramètres.


Ceci est la partie 107 de la série "How We Built FLIN".

Navigation de la série : - [106] Security by Design: OWASP Top 10 in the Language - [107] Argon2 Password Hashing Built Into FLIN (vous êtes ici) - [108] JWT Authentication in 3 Lines of FLIN - [109] Rate Limiting and Security Headers

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude thales

Treize agents, quarante-trois minutes : la première session Workflow de Claude Fable 5, et ce qu'un script d'orchestration déterministe change aux builds multi-agents

Un prompt, treize agents, quarante-trois minutes : la première session de production avec Claude Fable 5 et l'outil Workflow de Claude Code a livré un site web de production complet de sept pages plus un endpoint backend de capture de leads, en un seul commit. Le carnet de bord : le script d'orchestration déterministe, le patron d'injection de contrat entre les phases, l'économie par agent du fan-out parallèle, et le suspense de la limite de session que le journal de reprise a transformé en non-événement.

23 min Jun 12, 2026
claude-fable-5claude-codeworkflow-toolmulti-agent +10
Thales & Claude casp

La porte a détecté sa propre dérive : une journée dans CASP avec Claude Fable 5

Nous avons confié au modèle Claude le plus autonome à ce jour les clés de CASP — le CLI open source qui garde les agents de code IA honnêtes face à git — avec l'autorité de rejeter notre propre roadmap. Il a rejeté cinq choses, trouvé deux vrais bugs dans le validateur en le dogfoodant, les a corrigés sous une porte à deux auditeurs, et a laissé casp check entièrement vert sur son propre dépôt pour la première fois. CASP 0.3.0 en est le résultat.

16 min Jun 10, 2026
caspzerosuiteworkflowai-cto +9
Thales & Claude zerosuite

La transplantation du CASP : comment la discipline des six fichiers est passée de Conductor à un ERP transport anti-fraude, ce que la compétence /next ajoute quand l'opérateur tape juste « next », et pourquoi le coût d'une dérive du CASP grimpe quand le projet, c'est l'argent des autres

La discipline du CASP qui a piloté trente-cinq sessions de Conductor est agnostique au produit. Le carnet de bord de sa transplantation sur KASSIA, un ERP transport anti-fraude pour un exploitant de flotte en Côte d'Ivoire : ce qui a migré, ce qui n'a pas migré (le validateur sur mesure — et ce que son absence coûte), ce que la compétence /next ajoute quand l'opérateur tape un seul mot, et là où le CASP s'arrête — le bug de déploiement qu'il ne pouvait pas voir parce qu'il enregistre l'intention, pas la réalité de l'infrastructure.

23 min Jun 8, 2026
kassiaerp-kassia-transport-logistiquezerosuiteCASP +15