Exemple #1
0
        public void DecryptPatterns()
        {
            var patternsEncrypted = (_settings.EncryptionState & State.PatternsEncrypted) != 0;

            if (!patternsEncrypted)
            {
                return;
            }

            var key = AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key);
            var decryptedPatterns = new BindingList <RegexPattern>();

            foreach (var regexPattern in _settings.RegexPatterns)
            {
                decryptedPatterns.Add(new RegexPattern()
                {
                    Pattern       = AnonymizeData.DecryptData(regexPattern.Pattern, key),
                    Description   = regexPattern.Description,
                    ShouldEncrypt = regexPattern.ShouldEncrypt,
                    ShouldEnable  = regexPattern.ShouldEnable,
                    IsDefaultPath = regexPattern.IsDefaultPath,
                    Id            = regexPattern.Id
                });
            }
            _settings.RegexPatterns    = decryptedPatterns;
            _settings.EncryptionState &= ~State.PatternsEncrypted;
        }
 private void EncryptPatterns()
 {
     foreach (var regexPattern in _control.RegexPatterns)
     {
         regexPattern.Pattern = AnonymizeData.EncryptData(regexPattern.Pattern, _control.EncryptionKey);
     }
 }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldAnonymize ?? false)
            {
                return;
            }

            var projectController        = SdlTradosStudio.Application.GetController <ProjectsController>();
            var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList();

            if (projectController.CurrentProject != null)
            {
                ProjectBackup.CreateProjectBackup(projectController.CurrentProject.FilePath);
            }

            var key = _settings.EncryptionKey == "<dummy-encryption-key>" ? "" : AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key);

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted))));

            ParseRestOfFiles(projectController, selectedPatternsFromGrid, key);
        }
 private void EncryptPatterns()
 {
     foreach (var regexPattern in _control.RegexPatterns)
     {
         regexPattern.Pattern = AnonymizeData.EncryptData(regexPattern.Pattern, _settings.EncryptionKey);
     }
     _settings.IsEncrypted = true;
 }
        public override void Save()
        {
            if (_settings.EncryptionKey != AnonymizeData.EncryptData(_control.EncryptionKey, Constants.Key) && !_settings.EncryptionState.HasFlag(State.Decrypted))
            {
                _settings.ShouldDeanonymize = false;
                return;
            }
            _settings.IsOldVersion = !_settings.EncryptionState.HasFlag(State.PatternsEncrypted) && _settings.EncryptionState.HasFlag(State.DataEncrypted);
            DecryptPatterns();

            _settings.ShouldDeanonymize = _settings.EncryptionState.HasFlag(State.DataEncrypted & State.Decrypted);
            _settings.EncryptionState   = State.Decrypted;
            _settings.EncryptionKey     = _control.EncryptionKey;
        }
        public void DecryptPatterns()
        {
            var decryptedPatterns = new BindingList <RegexPattern>();

            foreach (var regexPattern in RegexPatterns)
            {
                decryptedPatterns.Add(new RegexPattern()
                {
                    Pattern       = AnonymizeData.DecryptData(regexPattern.Pattern, Settings.EncryptionKey),
                    Description   = regexPattern.Description,
                    ShouldEncrypt = regexPattern.ShouldEncrypt,
                    ShouldEnable  = regexPattern.ShouldEnable,
                    IsDefaultPath = regexPattern.IsDefaultPath,
                    Id            = regexPattern.Id
                });
            }

            Settings.RegexPatterns = decryptedPatterns;
            RegexPatterns          = decryptedPatterns;
            Settings.IsEncrypted   = false;
        }
        protected override void ConfigureConverter(ProjectFile projectFile, IMultiFileConverter multiFileConverter)
        {
            if (!AgreementMethods.UserAgreed())
            {
                CancelHelper.CancelTaskIfRequested(true);
            }

            if (!_settings.ShouldAnonymize ?? false)
            {
                return;
            }

            var selectedPatternsFromGrid = _settings.RegexPatterns.Where(e => e.ShouldEnable).ToList();

            var key = _settings.EncryptionKey == "<dummy-encryption-key>" ? "" : AnonymizeData.DecryptData(_settings.EncryptionKey, Constants.Key);

            multiFileConverter.AddBilingualProcessor(new BilingualContentHandlerAdapter(new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted))));

            _restOfFilesParser.ParseRestOfFiles(_projectController, TaskFiles,
                                                new AnonymizerPreProcessor(selectedPatternsFromGrid, key, _settings.EncryptionState.HasFlag(State.PatternsEncrypted)),
                                                out _ignoredFiles);
        }