Alx09

Visual stduio Consola

Apr 13th, 2022 (edited)
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.24 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Security.Cryptography;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace ConsoleApp3
  9. {
  10.     class Program
  11.     {
  12.        
  13.         static void Main(string[] args)
  14.         {
  15.             Console.WriteLine("-------- I. --------");
  16.             Console.WriteLine("Dati dimensiunea cheii de DSA care va fi generata (de la 512 la 1024, cu o incrementare din 64 in 64):");
  17.             string dimension = Console.ReadLine();        //citim dimensiunea data de la tastaura
  18.             DSACryptoServiceProvider myDSA = new DSACryptoServiceProvider(Convert.ToInt32(dimension));  //transformam din string in int pt ca functia nu poate lucra decat cu int
  19.             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
  20.             Console.WriteLine(str);    //afisam pe ecran cheia de DSA generata
  21.  
  22.             Console.WriteLine("-------- II. --------");
  23.             Console.WriteLine("Scrieti textul: ");
  24.             string text = Console.ReadLine();        //citim textul scris de la tastatura
  25.             byte[] sig = myDSA.SignData(System.Text.Encoding.ASCII.GetBytes(text));  //apelam metoda SignData pt a crea semnatura, transformand stringul in System.IO.Stream
  26.             Console.WriteLine(Encoding.Default.GetString(sig));  //afisam semnatura pe ecran transformand variabila sig din byte in string pt a putea vedea pe consola semnatura
  27.  
  28.             Console.WriteLine("-------- III. --------");
  29.             System.Diagnostics.Stopwatch swatch = new System.Diagnostics.Stopwatch();
  30.             SHA256Managed myHash = new SHA256Managed();
  31.             int count = 100;
  32.             byte[] signature;
  33.             swatch.Reset();
  34.             swatch.Start();
  35.             for (int i = 0; i < count; i++)
  36.             {
  37.                 signature = myDSA.SignData(sig);
  38.             }
  39.             swatch.Stop();
  40.            
  41.             Console.WriteLine("Timpul semnarii: " + ((double)swatch.ElapsedMilliseconds / count) + " ms");
  42.  
  43.             Console.Read();  //scriem asta pt a mentine consola pe ecran, in caz contrar nu ramane pe ecran
  44.         }
  45.     }
  46. }
  47.  
  48.  
Add Comment
Please, Sign In to add comment