Esempio n. 1
0
        static void EncryptFolder(string folder, string password)
        {
            Logger.Info(folder);

            var subFolders = System.IO.Directory.GetDirectories(folder);

            foreach (var subFolder in subFolders)
            {
                EncryptFolder(subFolder, password);
            }

            var fe  = new FileEncryptionService();
            var gch = GCHandle.Alloc(password, GCHandleType.Pinned);

            var files = System.IO.Directory.GetFiles(folder, "*.*", System.IO.SearchOption.TopDirectoryOnly);

            foreach (var file in files)
            {
                var fi = new System.IO.FileInfo(file);
                if (ExtensionToEncrypt.Contains(fi.Extension) == false)
                {
                    continue;
                }

                Logger.Info("  " + file);
                fe.EncryptFile(file, password);
            }

            FileEncryptionService.ZeroMemory(gch.AddrOfPinnedObject(), password.Length * 2);
            gch.Free();
        }
Esempio n. 2
0
        static void SimpleTest()
        {
            var fe       = new FileEncryptionService();
            var password = "******";

            Console.WriteLine("Password: {0}", password);

            Console.WriteLine("Press Enter to start encrypting");
            Console.ReadLine();

            // For additional security Pin the password of your files
            var gch = GCHandle.Alloc(password, GCHandleType.Pinned);

            // Encrypt the file
            fe.EncryptFile(@"C:\TFSProjects\Playground\C#\Sovor.Crypto\Sovor.Crypto\testfile.zip", password);

            Console.WriteLine("Press Enter to start decrypting");
            Console.ReadLine();

            fe.DecryptFile(@"C:\TFSProjects\Playground\C#\Sovor.Crypto\Sovor.Crypto\testfile.zip.aes", password);

            // To increase the security of the encryption, delete the given password from the memory !
            FileEncryptionService.ZeroMemory(gch.AddrOfPinnedObject(), password.Length * 2);
            gch.Free();

            Console.WriteLine(password);
        }
        public void Setup()
        {
            var config = new ApplyConfig {
                FileStorage = new FileStorageConfig {
                    FileEncryptionKey = _fileEncryptionKey
                }
            };
            var _configurationService = new Mock <IConfigurationService>();

            _configurationService.Setup(x => x.GetConfig()).ReturnsAsync(config);

            _fileEncryptionService = new FileEncryptionService(_configurationService.Object);
        }