コード例 #1
0
        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();
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: Vitkir/CSPTestProject
        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);
            }
        }