/// <summary> /// Расчитать HASH /// </summary> /// <param name="cryptoProviderType">Тип Критопровайдера</param> /// <param name="bytes"></param> /// <returns></returns> public static string ComputeHash(CryptoProviderTypeEnum cryptoProviderType, byte[] bytes) { byte[] hashValue; GostCryptoConfig.ProviderType = (int)cryptoProviderType; var hashAlgorithm = new Gost3411HashAlgorithm(); hashValue = hashAlgorithm.ComputeHash(bytes); return(BitConverter.ToString(hashValue).Replace("-", "")); }
private static bool VerifySignature(Gost3410 publicKey, Stream dataStream, byte[] signature) { byte[] hash; using (var hashAlg = new Gost3411HashAlgorithm()) { hash = hashAlg.ComputeHash(dataStream); } return(publicKey.VerifySignature(hash, signature)); }
private static byte[] CreateSignature(Gost3410 privateKey, Stream dataStream) { byte[] hash; using (var hashAlg = new Gost3411HashAlgorithm()) { hash = hashAlg.ComputeHash(dataStream); } return(privateKey.CreateSignature(hash)); }
private static bool VerifySignature(Gost3410AsymmetricAlgorithmBase publicKey, Stream dataStream, byte[] signature) { byte[] hash; using (var hashAlg = new Gost3411HashAlgorithm()) { hash = hashAlg.ComputeHash(dataStream); } var deformatter = new GostSignatureDeformatter(publicKey); return(deformatter.VerifySignature(hash, signature)); }
private static byte[] CreateSignature(Gost3410AsymmetricAlgorithmBase privateKey, Stream dataStream) { byte[] hash; using (var hashAlg = new Gost3411HashAlgorithm()) { hash = hashAlg.ComputeHash(dataStream); } var formatter = new GostSignatureFormatter(privateKey); return(formatter.CreateSignature(hash)); }
public void ShouldComputeHash3411_94() { // Given var dataStream = CreateDataStream(); // When byte[] hashValue; using (var hash = new Gost3411HashAlgorithm()) { hashValue = hash.ComputeHash(dataStream); } // Then Assert.IsNotNull(hashValue); Assert.AreEqual(32, hashValue.Length); }