Feat: Hash utils #10
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/hash-utils"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
J'ai mis des commentaires aux niveaux des lignes qui ne vont pas.
Tu as aussi oublié la vérification d'un mot de passe par rapport à son hash. Pour la vérification les mots de passes et les hash seront sauvegardé dans la même colonne donc il y aura un séparateur. Si tu veux des explications je peux t'aider. Voici les paramètres qu'il te faudra pour la vérif : string field, string hashBase64, string separator
@ -0,0 +10,4 @@{/// <summary>/// Hashes a password using Argon2id./// </summary>Dans tes paramètres tu peux passer tes paramètres aussi comme ça :
/// The password
@ -0,0 +11,4 @@/// <summary>/// Hashes a password using Argon2id./// </summary>public static string HashPassword(string password, byte[] salt, int memorySizeKB = 65536, int iterations = 4, int degreeOfParallelism = 2)Mets les différents params dans une constantes en haut de la classe ça sera plus clean et ça évite que quelqu'un les modifie et que ça nique tous les hash suivant. Garde juste le password ici du coup
Aussi augmente les valeurs de memorySize, iterations et degreeOfParallelism pour :
@ -0,0 +17,4 @@using var argon2 = new Argon2id(Encoding.UTF8.GetBytes(password));// Assign the saltargon2.Salt = salt;Tu peux passer tes paramètres directement dans le new Argon2id() en deuxième paramètre
@ -0,0 +20,4 @@argon2.Salt = salt;// Set memory usage in KBargon2.MemorySize = memorySizeKB;same
@ -0,0 +23,4 @@argon2.MemorySize = memorySizeKB;// Set the number of iterationsargon2.Iterations = iterations;same
@ -0,0 +26,4 @@argon2.Iterations = iterations;// Set the number of parallel threadsargon2.DegreeOfParallelism = degreeOfParallelism;same
@ -0,0 +32,4 @@byte[] hashBytes = argon2.GetBytes(32);// Return the hash encoded as a Base64 stringreturn Convert.ToBase64String(hashBytes);Pourquoi le retourner en base 64 ?
@ -0,0 +38,4 @@/// <summary>/// Generates a cryptographically secure random salt./// </summary>public static byte[] GenerateSalt(int length = 16)Pareil, met le param en haut de la classe comme pour l'autre fonction
.
@ -0,0 +8,4 @@/// </summary>public static class HashUtils{private const int SaltSize = 16;Penses la prochaine fois à mettre des commentaires sur les variables aussi