Premiere commit - Omika
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
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 "<mot-de-passe-bootstrap>"
|
||||
// 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 \"<mot-de-passe>\" | --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;
|
||||
Reference in New Issue
Block a user