Esempio n. 1
0
        public static void Main(string[] args)
        {
            //1ª forma

            /*const string chavePublica = "<RSAKeyValue><Modulus>0T+cB1Xbnz3GhopJhmopF0UBStuREv6fQ6OQQVnietwlXIMjSVQLrrRRNK/fPw9dtn" +
             *                          "U15641copbWG7CC1ggCxpT8W4evi0iyjQva7hjS8ZCG2a/zABlnbu9t3Oa+FFfpjRB0G2qZDpbpU+PS99rRVtSUj2slcN" +
             *                          "RTZWI1qSTaCk=</Modulus><Exponent>AQAB</Exponent></RSAKeyValue>";
             * var texto = Encoding.UTF8.GetBytes("usuariosenha");
             *
             *  using (var rsa = new RSACryptoServiceProvider())
             *  {
             *      try
             *      {
             *          rsa.FromXmlString(chavePublica);
             *          var encryptedData = rsa.Encrypt(texto, false);
             *          //Base64
             *          //var base64Encrypted = Convert.ToBase64String(encryptedData);
             *          //Console.WriteLine(base64Encrypted);
             *
             *          //Hex
             *          var sb = new StringBuilder();
             *          foreach (var b in encryptedData)
             *              sb.Append(b.ToString("X2"));
             *
             *          Console.WriteLine(sb.ToString());
             *      }
             *      finally
             *      {
             *          rsa.PersistKeyInCsp = false;
             *      }
             *  }
             *
             *  //2ª forma
             *  var rsaPublic = new RSACryptoServiceProvider();
             *
             *  rsaPublic.FromXmlString(chavePublica);
             *
             *  var encryptedRsa = rsaPublic.Encrypt(texto, false);
             *
             *
             *
             *  //Base64
             *
             *  //Console.WriteLine(Convert.ToBase64String(encryptedRSA));
             *
             *
             *
             *  //Hex
             *
             *  var sb2 = new StringBuilder();
             *
             *  foreach (var b in encryptedRsa)
             *  {
             *
             *      sb2.Append(b.ToString("X2"));
             *  }
             *
             *  Console.WriteLine(sb2.ToString());
             *
             *  Console.ReadKey();*/



//            string chavePublica = Rsa.GerarChavePublica();
//            Console.WriteLine(chavePublica);
//
////            string textoEnciptografado = Rsa.Criptografar("Ola mundo", chavePublica);
////            Console.WriteLine(textoEnciptografado);
//
//            string chavePrivada = Rsa.GerarChavePrivada();
//            Console.WriteLine($"chave privada: {chavePrivada}");


            Chave         key = null;
            RSAParameters keyRsa;

            using (var rsa = new RSACryptoServiceProvider(2048))
            {
                RSAParameters X = rsa.ExportParameters(true);
                key    = Rsa.ChaveBitToChave(X);
                keyRsa = Rsa.ChaveChaveToRSAParameter(key);
                Console.WriteLine(Rsa.ChaveBitToChave(keyRsa));
            }

            Console.WriteLine(key);
        }