Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp3
- {
- class Program
- {
- static void Main(string[] args)
- {
- DSACryptoServiceProvider myDSA = new DSACryptoServiceProvider(1024);
- byte[] signature1;
- byte[] signature2;
- Console.WriteLine("-------- I. --------");
- Console.WriteLine("Cale Fiser: ");
- string caleFiser = Console.ReadLine();
- signature1 = myDSA.SignData(System.Text.Encoding.ASCII.GetBytes(caleFiser));
- bool verified;
- verified = myDSA.VerifyData(System.Text.Encoding.ASCII.GetBytes(caleFiser), signature1);
- Console.WriteLine(Encoding.Default.GetString(signature1));
- if (verified)
- {
- StreamWriter scrie = new StreamWriter("sig.txt");
- scrie.WriteLine(Encoding.ASCII.GetString(signature1));
- scrie.Close();
- }
- Console.WriteLine("-------- II. --------");
- Console.WriteLine("Cale Fiser: ");
- caleFiser = Console.ReadLine();
- StreamReader read = new StreamReader("sig.txt");
- signature1 = myDSA.SignData(System.Text.Encoding.ASCII.GetBytes(caleFiser));
- char[] sir = read.ReadToEnd().ToCharArray();
- signature2 = myDSA.SignData(Encoding.ASCII.GetBytes(sir, 0, sir.Length));
- read.Close();//afisam semnatura pe ecran transformand variabila sig din byte in string pt a putea vedea pe consola semnatura
- int n1, n2;
- n1 = signature1.Length;
- n2 = signature2.Length;
- Console.WriteLine(n1);
- Console.WriteLine(n2);
- bool itSame = true;
- for (int i = 0; i < n1; i++)
- if (signature1[i].CompareTo(signature2[i + 1]) == 0)
- {
- itSame = false;
- Console.WriteLine( "Semnaturi diferite ");
- break;
- }
- if (itSame)
- {
- Console.WriteLine( "Semnaturi identice");
- }
- Console.WriteLine("-------- III. --------");
- System.Diagnostics.Stopwatch swatch = new System.Diagnostics.Stopwatch();
- SHA256Managed myHash = new SHA256Managed();
- int count = 100;
- byte[] signature;
- swatch.Reset();
- swatch.Start();
- for (int i = 0; i < count; i++)
- {
- signature = myDSA.SignData(signature1);
- }
- swatch.Stop();
- Console.WriteLine("Timpul semnarii: " + ((double)swatch.ElapsedMilliseconds / count) + " ms");
- Console.Read(); //scriem asta pt a mentine consola pe ecran, in caz contrar nu ramane pe ecran
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement