public static void ExpandWithCountWithLongPrk() { var a = new HkdfSha512(); var b = a.Expand((s_prkForEmpty + s_prkForEmpty).DecodeHex(), ReadOnlySpan <byte> .Empty, 256); Assert.NotNull(b); Assert.Equal(256, b.Length); }
public static void ExpandWithMaxSpan() { var a = new HkdfSha512(); var expected = s_outputForEmpty.DecodeHex(); var actual = new byte[a.MaxOutputSize]; a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, actual); Assert.Equal(expected, actual); }
public static void ExpandWithSpanSuccess(int count) { var a = new HkdfSha512(); var expected = s_outputForEmpty.DecodeHex().Substring(0, count); var actual = new byte[count]; a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, actual); Assert.Equal(expected, actual); }
public static void ExpandWithMaxCount() { var a = new HkdfSha512(); var expected = s_outputForEmpty.DecodeHex(); var actual = a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, a.MaxOutputSize); Assert.NotNull(actual); Assert.Equal(expected, actual); Assert.Equal(a.MaxOutputSize, actual.Length); }
public static void ExpandWithCountSuccess(int count) { var a = new HkdfSha512(); var expected = s_outputForEmpty.DecodeHex().Substring(0, count); var actual = a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, count); Assert.NotNull(actual); Assert.Equal(expected, actual); Assert.Equal(count, actual.Length); }
public static void ExpandWithSpanTooLarge() { var a = new HkdfSha512(); Assert.Throws <ArgumentException>("bytes", () => a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, new byte[a.MaxOutputSize + 1])); }
public static void ExpandWithSpanWithPrkTooShort() { var a = new HkdfSha512(); Assert.Throws <ArgumentException>("pseudorandomKey", () => a.Expand(new byte[a.PseudorandomKeySize - 1], ReadOnlySpan <byte> .Empty, new byte[0])); }
public static void ExpandWithCountTooLarge() { var a = new HkdfSha512(); Assert.Throws <ArgumentOutOfRangeException>("count", () => a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, a.MaxOutputSize + 1)); }
public static void ExpandWithNegativeCount() { var a = new HkdfSha512(); Assert.Throws <ArgumentOutOfRangeException>("count", () => a.Expand(s_prkForEmpty.DecodeHex(), ReadOnlySpan <byte> .Empty, -1)); }