public void CreateHasherByNameTests() { var sha1 = SrpHash.CreateHasher("sha1"); Assert.NotNull(sha1); var sha256 = SrpHash.CreateHasher("sha256"); Assert.NotNull(sha256); var sha384 = SrpHash.CreateHasher("sha384"); Assert.NotNull(sha384); var sha512 = SrpHash.CreateHasher("sha512"); Assert.NotNull(sha512); }
public void CreateHasherTests() { var sha1 = SrpHash <SHA1> .CreateHasher(); Assert.NotNull(sha1); var sha256 = SrpHash <SHA256> .CreateHasher(); Assert.NotNull(sha256); var sha384 = SrpHash <SHA384> .CreateHasher(); Assert.NotNull(sha384); var sha512 = SrpHash <SHA512> .CreateHasher(); Assert.NotNull(sha512); }
/// <summary> /// Creates the hasher. /// </summary> private HashAlgorithm CreateHasher() { var hasher = SrpHash.CreateHasher(H); if (hasher == null) { HashAlgorithm blake2s() => Blake2S.Create().AsHashAlgorithm(); HashAlgorithm blake2b(int bits) => new Blake2BHasher(new Blake2BConfig { OutputSizeInBits = bits }) .AsHashAlgorithm(); switch (H.ToLowerInvariant()) { case "blake2s-256": return(blake2s()); case "blake2b-224": return(blake2b(224)); case "blake2b-256": return(blake2b(256)); case "blake2b-384": return(blake2b(384)); case "blake2b-512": return(blake2b(512)); } } return(hasher); }