예제 #1
0
        public ActionResult Index(HttpPostedFileBase file, string password, string cifrado, string operacion)
        {
            //Validar datos de entrada

            if (file != null)
            {
                //Subir Archivo
                if (validarPassword(password, cifrado))
                {
                    string path = Path.Combine(directorioUploads, Path.GetFileName(file.FileName) ?? "");
                    UploadFile(path, file);


                    switch (operacion)
                    {
                    case "1":     //Cifrar
                        switch (cifrado)
                        {
                        case "1":         //Cesar

                            Cesar.Cifrado(path, password);

                            break;

                        case "2":         //Zig Zag

                            int corrimiento = Convert.ToInt32(password);
                            ZigZag.Cifrado(path, corrimiento);

                            break;

                        case "3":         //Espiral

                            int clave = Convert.ToInt32(password);
                            Espiral.Cifrar(path, clave);

                            break;

                        case "4":         //SDES

                            int  passwordSDES = Convert.ToInt32(password);
                            SDES CifradoSdes  = new SDES();
                            CifradoSdes.Cifrar(path, passwordSDES);

                            break;
                        }
                        break;

                    case "2":     //Descifrar
                        switch (cifrado)
                        {
                        case "1":         //Cesar

                            Cesar.Descifrar(path, password);

                            break;

                        case "2":         //Zig Zag

                            int corrimiento = Convert.ToInt32(password);
                            ZigZag.Descifrar(path, corrimiento);

                            break;

                        case "3":         //Espiral

                            int clave = Convert.ToInt32(password);
                            Espiral.Descifrar(path, clave);

                            break;

                        case "4":         //SDES

                            int  passwordSDES = Convert.ToInt32(password);
                            SDES CifradoSdes  = new SDES();
                            CifradoSdes.Descifrar(path, passwordSDES);

                            break;
                        }
                        break;
                    }

                    return(RedirectToAction("Download"));
                }
            }
            else
            {
                ViewBag.Message = "No ha especificado un archivo.";
            }

            return(View());
        }