Exemplo n.º 1
0
        private void pib_editFilenameAccept_Click(object sender, EventArgs e)
        {
            if (txb_editFilename.Text.Length < 1)
            {
                MessageBox.Show("Der Dateiname darf nicht leer sein", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            string[] temp = Files[editIndex].Filename.Split('.');
            Files[editIndex] = new EncryptedFile(txb_editFilename.Text + "." + temp[temp.Length - 1], Files[editIndex].Path);

            File.WriteAllBytes(User.Path + "\\files.dat", Files.SerializeFileList().Encrypt(User.Token));
            RefreshLists();

            pib_editFilenameBack_Click(null, null);
        }
Exemplo n.º 2
0
        private void AddFiles(string[] FileNames)
        {
            bool delete = false;

            if (MessageBox.Show("Sollen die Dateien nach dem hinzufügen gelöscht werden?", "Löschen", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
            {
                delete = true;
            }

            Loc = Location;
            Working.Start();

            foreach (string f in FileNames)
            {
                string encFilename;
                do
                {
                    encFilename = User.Path + "\\File" + new Random().Next(100000, 999999) + ".file";
                } while (File.Exists(encFilename));

                FileStream          newFile = File.Create(encFilename);
                FileStream          oldFile = new FileStream(f, FileMode.Open);
                PasswordDeriveBytes pdb     = new PasswordDeriveBytes(User.Token, new byte[0]);
                RijndaelManaged     rm      = new RijndaelManaged();
                CryptoStream        cs      = new CryptoStream(newFile, rm.CreateEncryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Write);
                oldFile.CopyTo(cs);
                cs.FlushFinalBlock();
                cs.Close();
                oldFile.Close();
                newFile.Close();
                if (delete)
                {
                    File.Delete(f);
                }
                EncryptedFile e = new EncryptedFile(Path.GetFileName(f), encFilename);
                Files.Add(e);
                File.WriteAllBytes(User.Path + "\\files.dat", Files.SerializeFileList().Encrypt(User.Token));
                RefreshLists();
            }

            CloseWorking = true;
        }
Exemplo n.º 3
0
        private void ExportFiles(string folder)
        {
            Loc = Location;
            Working.Start();

            foreach (ListViewItem item in lvw_files.SelectedItems)
            {
                EncryptedFile       enc     = Files[lvw_files.Items.IndexOf(item)];
                FileStream          encFile = File.Open(Path.GetFullPath(enc.Path), FileMode.Open);
                FileStream          newFile = new FileStream(folder + enc.Filename, FileMode.Create);
                PasswordDeriveBytes pdb     = new PasswordDeriveBytes(User.Token, new byte[0]);
                RijndaelManaged     rm      = new RijndaelManaged();
                CryptoStream        cs      = new CryptoStream(encFile, rm.CreateDecryptor(pdb.GetBytes(32), pdb.GetBytes(16)), CryptoStreamMode.Read);
                cs.CopyTo(newFile);
                cs.Close();
                encFile.Close();
                newFile.Close();
            }

            CloseWorking = true;
        }