static void Main(string[] args) { string passPhrase = ""; string saltValue = "Th3r35N0Kn0w13d63Th4tI5N0P0w3r"; string hashAlgorithm = "SHA1"; int passwordIterations = 2; string initVector = "NTHGHTDYGDCRTDTR"; int keySize = 256; string opcion = ""; string directorioLocal = System.IO.Directory.GetCurrentDirectory(); string[] listaArchivos = Directory.GetFiles(directorioLocal, "*.kdp"); string nombreArchivo = ""; string tituloArchivo = ""; string tituloArchivoEncriptado = ""; string contenidoArchivo = ""; string contenidoArchivoDesencriptado = ""; string passwordArchivo = ""; int contadorArchivos = 0; Console.Title = "Dissident Project 1.0 por Kuraimauri - http://kmplayground.blogspot.com"; Auxiliar.mostrar_cabecera("Inicio - Encriptador Dissident Project 1.0"); Console.Write("Password: "******"1": //desencriptar archivo Console.Clear(); Auxiliar.mostrar_cabecera("Abrir archivo - Encriptador Dissident Project 1.0"); Console.Write("Nombre de archivo: "); tituloArchivo = Console.ReadLine(); tituloArchivoEncriptado = RijndaelSimple.Encrypt(tituloArchivo, passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize); try { StreamReader archivoleido = new StreamReader(directorioLocal + "\\" + tituloArchivoEncriptado + ".kdp"); contenidoArchivoDesencriptado = RijndaelSimple.Decrypt(archivoleido.ReadLine(), passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize); Console.WriteLine(contenidoArchivoDesencriptado); archivoleido.Close(); } catch (Exception ex) { } Console.WriteLine("\nOperacion concluida. Cualquier tecla para regresar al menu."); Console.ReadKey(); break; case "2": //nuevo archivo encriptado Console.Clear(); Auxiliar.mostrar_cabecera("Crear archivo - Encriptador Dissident Project 1.0"); Console.Write("Nombre de archivo: "); tituloArchivo = Console.ReadLine(); Console.Write("Password: "******"Contenido: "); contenidoArchivo = Console.ReadLine(); tituloArchivoEncriptado = RijndaelSimple.Encrypt(tituloArchivo, passwordArchivo, saltValue, hashAlgorithm, passwordIterations, initVector, keySize); if (!File.Exists(directorioLocal + "\\" + tituloArchivoEncriptado + ".kdp")) { StreamWriter archivoCreado; try { archivoCreado = File.CreateText(directorioLocal + "\\" + tituloArchivoEncriptado + ".kdp"); archivoCreado.Write(RijndaelSimple.Encrypt(contenidoArchivo, passwordArchivo, saltValue, hashAlgorithm, passwordIterations, initVector, keySize)); archivoCreado.Close(); } catch (Exception ex) { Console.WriteLine("\nEl archivo no pudo ser creado. Falló la encriptación."); } } else { //No se informa de nada pero no se efectuan cambios. Console.WriteLine("\nEl archivo no pudo ser creado. Falló la encriptación."); } Console.WriteLine("\nOperacion concluida. Cualquier tecla para regresar al menu."); Console.ReadKey(); break; case "3": //listar archivos Console.Clear(); Auxiliar.mostrar_cabecera("Lista de archivos - Encriptador Dissident Project 1.0"); listaArchivos = Directory.GetFiles(directorioLocal, "*.kdp"); listaArchivos = RandomStringArrayTool.RandomizeStrings(listaArchivos); contadorArchivos = 0; foreach (string archivo in listaArchivos) { contadorArchivos++; nombreArchivo = archivo.Substring(directorioLocal.Length + 1); nombreArchivo = nombreArchivo.Remove(nombreArchivo.Length - 4, 4); try { nombreArchivo = RijndaelSimple.Decrypt(nombreArchivo, passPhrase, saltValue, hashAlgorithm, passwordIterations, initVector, keySize); if (contadorArchivos < 10) { Console.Write("0"); } Console.WriteLine(contadorArchivos.ToString() + " - " + nombreArchivo); } catch (Exception ex) { if (contadorArchivos < 10) { Console.Write("0"); } Console.WriteLine(contadorArchivos.ToString() + " - XXXXXXXXXXXXXXXXXXXXXXXX"); } if ((contadorArchivos % 20 == 0) && (listaArchivos.Length != contadorArchivos)) { Console.WriteLine("\nCualquier tecla para visualizar más archivos..."); Console.ReadKey(); Console.Clear(); Auxiliar.mostrar_cabecera("Lista de archivos - Encriptador Dissident Project 1.0"); } } Console.WriteLine("\nOperacion concluida. Cualquier tecla para regresar al menu."); Console.ReadKey(); break; case "4": //cambiar entre passwords Console.Clear(); Auxiliar.mostrar_cabecera("Cambiar entre passwords - Encriptador Dissident Project 1.0"); Console.Write("Password: "******"5": //mostrar la ayuda Console.Clear(); Auxiliar.mostrar_cabecera("Ayuda - Encriptador Dissident Project 1.0"); Auxiliar.mostrar_ayuda(); Console.WriteLine("\nOperacion concluida. Cualquier tecla para regresar al menu."); Console.ReadKey(); break; case "6": //mostrar el acerca de Console.Clear(); Auxiliar.mostrar_cabecera("Acerca de este programa - Encriptador Dissident Project 1.0"); Auxiliar.mostrar_nota(); Console.WriteLine("\nOperacion concluida. Cualquier tecla para regresar al menu."); Console.ReadKey(); break; case "7": //salir return; } Console.Clear(); int a = 15; int b = 3; Auxiliar.mostrar_cabecera("Menu principal - Encriptador Dissident Project 1.0"); Console.WriteLine("1 - Desencriptar archivo"); Console.WriteLine("2 - Nuevo archivo encriptado"); Console.WriteLine("3 - Listar archivos"); Console.WriteLine("4 - Cambiar entre passwords"); Console.WriteLine("5 - Ayuda"); Console.WriteLine("6 - Acerca de este programa"); Console.WriteLine("7 - Salir"); Console.WriteLine(--b * a++ / b); Console.Write("\nOpción: "); opcion = Console.ReadLine(); } }