예제 #1
0
        public async Task TestCorrectResultIsComputedAsync()
        {
            var result = await KdfInstance.GetBytesAsync(ByteCount);

            ActualString = Converters.ConvertBytesToHexString(result);

            AssertAreEqual(ExpectedString, ActualString);
        }
예제 #2
0
        public void TestCancellationTokenWorks()
        {
            LargeMemoryStream.Position = 0;
            var cancellationTokenSource = new CancellationTokenSource();

            cancellationTokenSource.Cancel();
            Assert.CatchAsync <OperationCanceledException>(() =>
                                                           KdfInstance.GetBytesAsync(ByteCount, cancellationTokenSource.Token));
        }
예제 #3
0
        public async Task TestCheckTestVectorsAsync()
        {
            foreach (var vector in Blake3TestVectors.Blake3Vectors)
            {
                var chunkedInput = new byte[Convert.ToInt32(vector[0])];
                Array.Copy(fullInput, chunkedInput, chunkedInput.Length);

                KdfInstance = HashFactory.KDF.PBKDFBlake3.CreatePBKDFBlake3(chunkedInput, ctx);

                var output = await KdfInstance.GetBytesAsync(vector[3].Length >> 1);

                AssertAreEqual(output, Converters.ConvertHexStringToBytes(vector[3]),
                               "test vector mismatch");
            }
        }
예제 #4
0
 private async Task <byte[]> ASyncComputation() => await KdfInstance.GetBytesAsync(ByteCount);