示例#1
0
        private void BotonEncriptar_Click(object sender, RoutedEventArgs e)
        {
            String llave           = TextboxLlave.Text;
            String nombreDeArchivo = TextboxNombreArchivo.Text;
            String textoEncriptar  = TextboxTextoEncriptar.Text;
            bool   wasSucess       = false;


            if (llave == null || llave.Length != 32 ||
                textoEncriptar == null || textoEncriptar.Length > 100 ||
                nombreDeArchivo == null ||
                !llave.ToUpper().ToCharArray().All(x => ValidHexChars.Contains(x)))
            {
                MessageBox.Show("Revise los parametros de entrada.");
                return;
            }


            byte[] llaveComoBytes   = Util.StringToByteArray(llave);
            var    datosEncryptados = EncriptadorAES.EncriptarConAES256(llaveComoBytes, textoEncriptar);

            if (datosEncryptados != null)
            {
                wasSucess = Util.WriteByteArrayToFile("./" + nombreDeArchivo, datosEncryptados);
            }

            if (wasSucess)
            {
                MessageBox.Show("Encripcion correcta. El archivo se encuentra en la misma localizacion que este programa.");
            }
            else
            {
                MessageBox.Show("Encripcion Fallida. Revise los parametros de entrada.");
            }
        }
        public void TestEncriptarAES()
        // El método encripta la cadena y luego la desencripta, corroborando
        // que el resultado de la encriptación es correcto.
        {
            EncriptadorAES encriptador = new EncriptadorAES("AES");
            string         cadena      = "hola";
            string         esperado    = "hola";

            string resultado1 = encriptador.Encriptar(cadena);
            string resultado2 = encriptador.Desencriptar(resultado1);

            Assert.AreEqual(esperado, resultado2);
        }
示例#3
0
        private void BotonDesencriptar_Click(object sender, RoutedEventArgs e)
        {
            String llave           = TextboxLlave.Text;
            String nombreDeArchivo = TextboxNombreArchivo.Text;

            if (llave == null || llave.Length != 32 ||
                nombreDeArchivo == null ||
                !llave.ToUpper().ToCharArray().All(x => ValidHexChars.Contains(x)))
            {
                MessageBox.Show("Revise los parametros de entrada.");
                return;
            }

            var datosEncryptados = Util.ReadByteArrayFromFile("./" + nombreDeArchivo);

            var textoPlano = EncriptadorAES.DesencriptarConAES256(Util.StringToByteArray(llave), datosEncryptados);

            if (textoPlano == null)
            {
                MessageBox.Show("Encripcion Fallida. Revise los parametros de entrada.");
                return;
            }
            TextboxTextoEncriptar.Text = textoPlano;
        }
示例#4
0
        public string EncriptarAES(string palabra)
        {
            EncriptadorAES encriptador = new EncriptadorAES();

            return(encriptador.Encriptar(palabra));
        }