public string GetStringHash(string str) { Blake3 blake3 = new Blake3(); byte[] hash = blake3.ComputeHash(Encoding.UTF8.GetBytes(str)); return(Convert.ToBase64String(hash)); }
double BenchmarkHashingThroughput(int trial, TimeSpan duration) { Console.Write($"Run {trial}: "); var data = CreateTestData(TestDataSize); var elapsed = TimeSpan.Zero; var totalData = 0; do { var hasher = new Blake3(); var stopwatch = Stopwatch.StartNew(); hasher.ComputeHash(data); stopwatch.Stop(); elapsed += stopwatch.Elapsed; totalData += data.Length; } while(elapsed < duration); var mbps = ToMegabytes(totalData / elapsed.TotalSeconds); Console.WriteLine($"{mbps:N3}MB/second"); return(mbps); }