using Omika.Diagnostics.Security; // ============================================================ // Omika.DiagnosticHashTool — génération HORS LIGNE d'un hash // PBKDF2-SHA256 pour le COMPTE BOOTSTRAP Diagnostics.Web (T23 §39). // // Usage : // Omika.DiagnosticHashTool "" // Omika.DiagnosticHashTool --stdin (lit une ligne sur stdin) // // ⚠️ Réservé au bootstrap du PREMIER admin Production. Le mot de passe ne // doit jamais être placé dans Git / le rapport / appsettings versionné. // Seul le HASH est ensuite mis dans la configuration / le secret store. // Préférez --stdin pour éviter de laisser le mot de passe dans // l'historique du shell. // ============================================================ string? password; if (args.Length == 0) { Console.Error.WriteLine("Usage: Omika.DiagnosticHashTool \"\" | --stdin"); return 2; } if (args[0] == "--stdin") { password = Console.ReadLine(); } else { password = args[0]; } if (string.IsNullOrWhiteSpace(password)) { Console.Error.WriteLine("Mot de passe vide refusé."); return 2; } string hash = DiagnosticPasswordHasher.Hash(password); // Affichage du HASH uniquement (jamais le mot de passe). Console.WriteLine(hash); return 0;