private static void Main(string[] args) { var data = File.ReadAllText(args[0]); using (var algorithm = new Gost3411_2012_256CryptoServiceProvider()) { var hash = algorithm.ComputeHash(Encoding.UTF8.GetBytes(data)); Console.WriteLine(Convert.ToBase64String(hash)); Console.ReadKey(); } }
private static void VerifySignedData(string sertPublisherName) { try { X509Certificate2Collection x509Certificate2 = GetSert(sertPublisherName); var sert = x509Certificate2[0]; var cspSender = (Gost3410_2012_256CryptoServiceProvider)sert.PrivateKey; var cspRecipient = (Gost3410_2012_256CryptoServiceProvider)sert.PublicKey.Key; var dataFromFile = ReadFile(@"C:\Users\кирилл\Downloads\data.txt"); var signFromFile = ReadFile(@"C:\Users\кирилл\Downloads\sign.txt"); Gost3411_2012_256CryptoServiceProvider GostHash = new Gost3411_2012_256CryptoServiceProvider(); var dataHash = GostHash.ComputeHash(dataFromFile); bool b = cspRecipient.VerifyData(dataFromFile, GostHash, signFromFile); if (b) { Console.WriteLine("подпись вычислена верно."); } else { Console.WriteLine("подпись вычислена неверно."); } } catch (ArgumentNullException e) { Console.WriteLine(e.Message); } }