예제 #1
0
        private void ExportDatabaseTo(PwDatabase deltaDB, PwEntry userRoot, List <string> paths)
        {
            //Save the database encrypted with the KEY specified in the PasswordFiled of the user
            deltaDB.MasterKey      = SyncSource.CreateKeyFor(userRoot);
            deltaDB.DataCipherUuid = StandardAesEngine.AesUuid;
            deltaDB.Compression    = PwCompressionAlgorithm.GZip;
            deltaDB.MemoryProtection.ProtectPassword = true;
            deltaDB.SetCustomAttribute(KeeShare.AttributeFlags.IsDeltaDatabase, true);

            string fileName = SyncSource.FileNameFor(userRoot);

            foreach (string path in paths)
            {
                string databasePath = path;
                if (!path.EndsWith(Path.DirectorySeparatorChar.ToString()))
                {
                    databasePath += Path.DirectorySeparatorChar;
                }
                databasePath += fileName + FileExtension;
                deltaDB.SaveAs(IOConnectionInfo.FromPath(databasePath), false, null);
            }
        }