Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- namespace ConsoleApp3
- {
- class Program
- {
- static void Main(string[] args)
- {
- Console.WriteLine("-------- I. --------");
- Console.WriteLine("Dati dimensiunea cheii de DSA care va fi generata (de la 512 la 1024, cu o incrementare din 64 in 64):");
- string dimension = Console.ReadLine(); //citim dimensiunea data de la tastaura
- DSACryptoServiceProvider myDSA = new DSACryptoServiceProvider(Convert.ToInt32(dimension)); //transformam din string in int pt ca functia nu poate lucra decat cu int
- string str = myDSA.ToXmlString(false); //se pune false pt a afla cheia publica (fiind reprezentata de P, Q, G, Y), pt cheia privata se scria true si era reprezentata de X
- Console.WriteLine(str); //afisam pe ecran cheia de DSA generata
- Console.WriteLine("-------- II. --------");
- Console.WriteLine("Scrieti textul: ");
- string text = Console.ReadLine(); //citim textul scris de la tastatura
- byte[] sig = myDSA.SignData(System.Text.Encoding.ASCII.GetBytes(text)); //apelam metoda SignData pt a crea semnatura, transformand stringul in System.IO.Stream
- Console.WriteLine(Encoding.Default.GetString(sig)); //afisam semnatura pe ecran transformand variabila sig din byte in string pt a putea vedea pe consola semnatura
- 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(sig);
- }
- 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
- }
- }
- }
Add Comment
Please, Sign In to add comment