private async Task CifrarArchivos(byte[] keyMaterial, bool eliminarArchivos) { Procesando barraProgreso = new Procesando(listaArchivos.Length); barraProgreso.Show(); foreach (var archivo in listaArchivos) { try { string rutaDestino = Path.Combine(Path.GetDirectoryName(archivo), Path.GetFileName(archivo)) + ".crypt"; await ProyectoCifrado3.Crypto.CifradoDescifradoAsincrono(keyMaterial, archivo, rutaDestino, true); if (eliminarArchivos) { Archivos.EliminarArchivo(archivo.ToString()); } } catch (System.Security.Cryptography.CryptographicException) { MessageBox.Show("El archivo " + Path.GetFileName(archivo) + " no pudo ser cifrado"); } catch (FileNotFoundException) { MessageBox.Show("El archivo '" + Path.GetFileName(archivo) + "' no pudo ser cifrado\n" + "El archivo especificado no existe"); } barraProgreso.Avanzar(); } barraProgreso.Hide(); MessageBox.Show("La tarea ha finalizado"); }
private async Task DescifrarArchivos(byte[] keyMaterial, bool eliminarArchivos) { Procesando barraProgreso = new Procesando(listaArchivos.Length); barraProgreso.Show(); foreach (var archivo in listaArchivos) { try { string rutaDestino = Path.Combine(Path.GetDirectoryName(archivo), Path.GetFileNameWithoutExtension(archivo)); await ProyectoCifrado3.Crypto.CifradoDescifradoAsincrono(keyMaterial, archivo, rutaDestino, false); if (eliminarArchivos) { Archivos.EliminarArchivo(archivo.ToString()); } } catch (System.Security.Cryptography.CryptographicException) { Archivos.EliminarArchivo(Path.Combine(Path.GetDirectoryName(archivo), Path.GetFileNameWithoutExtension(archivo))); MessageBox.Show("El archivo '" + Path.GetFileName(archivo) + "' no pudo ser descifrado\n" + "Esto puede deberse a una de las siguientes razones:" + "\n1-El archivo está dañado\n2-La contraseña es incorrecta\n3-El archivo no fue cifrado con CryptoSafe", "Aviso", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FileNotFoundException) { MessageBox.Show("El archivo '" + Path.GetFileName(archivo) + "' no pudo ser descifrado\n" + "El archivo especificado no existe"); } barraProgreso.Avanzar(); } barraProgreso.Hide(); MessageBox.Show("La tarea ha finalizado"); }