private byte[] HashPassword(string password, byte[] salt) { //if password is empty, return error. wwq Argon2id argon2 = new Argon2id(Encoding.UTF8.GetBytes(password)) { Salt = salt, DegreeOfParallelism = 2, Iterations = 6, MemorySize = 128 * 128 }; argon2.Dispose(); return(argon2.GetBytes(16)); }
ComputeHash2id(byte[] password, Argon2Parameter param) { var a2id = new Argon2id(password); try { a2id.DegreeOfParallelism = param.Parallelism; a2id.MemorySize = param.MemorySize1Kb; a2id.Iterations = param.Iterations; a2id.AssociatedData = param.Data; a2id.Salt = param.Salt; return(a2id.GetBytes(param.ByteCount)); } catch (Exception) { return(null); } finally { a2id.Dispose(); } }