/// <summary> /// ハッシュ値を取得します /// </summary> /// <param name="password"></param> /// <returns></returns> private (Task <byte[]> hash, byte[] salt) GetArgon2Hash(string password) { argon2 = new Argon2d(Encoding.UTF8.GetBytes(password)) { DegreeOfParallelism = 16, MemorySize = 8192, Iterations = 40, Salt = GetSalt(32) }; return(argon2.GetBytesAsync(32), argon2.Salt); }
public static async Task <byte[]> Argon2IdHashPassword(string password, byte[] salt) { var argon2 = new Argon2d(Encoding.UTF8.GetBytes(password)) { Salt = salt, DegreeOfParallelism = DegreeOfParallelism, Iterations = Iterations, MemorySize = MemorySize }; return(await argon2.GetBytesAsync(16)); }
private Task <byte[]> GetArgon2Hash(string password, FileStream fs) { argon2 = new Argon2d(Encoding.UTF8.GetBytes(password)) { DegreeOfParallelism = 16, MemorySize = 8192, Iterations = 40 }; byte[] salt = new byte[32]; fs.Read(salt, 0, 32);//埋め込んでいたSaltを読み取る argon2.Salt = salt; return(argon2.GetBytesAsync(32)); }