source: trunk/CrypPlugins/KeySearcher/KeySearcherSettings.cs @ 676

Last change on this file since 676 was 676, checked in by Sven Rech, 12 years ago

KeySearcher is now able to try all keys
(only works properly with SDES right now)
(error when trying to save the workspace)

+ a very small QuadraticSieve fix

File size: 2.2 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using Cryptool.PluginBase;
6using System.ComponentModel;
7
8namespace KeySearcher
9{
10    public class KeySearcherSettings : ISettings
11    {
12        private KeySearcher keysearcher;
13        private KeyPattern pattern = null;
14
15        public KeySearcherSettings(KeySearcher ks)
16        {
17            keysearcher = ks;
18        }
19
20        public KeyPattern Pattern
21        {
22            get
23            {
24                return pattern;
25            }
26            set
27            {
28                pattern = value;
29                Key = pattern.giveWildcardKey();
30            }
31        }
32
33        private string key;
34        [TaskPane("Key", "Key", null, 1, false, DisplayLevel.Beginner, ControlType.TextBox)]
35        public String Key
36        {
37            get
38            {
39                return key;
40            }
41            set
42            {               
43                key = value;
44                OnPropertyChanged("Key");               
45                if (!(Pattern != null && Pattern.testKey(value)))               
46                    keysearcher.GuiLogMessage("Wrong key pattern!", NotificationLevel.Error);               
47            }
48        }
49
50        [TaskPane("Reset", "Reset Key", null, 2, false, DisplayLevel.Beginner, ControlType.Button)]
51        public void Reset()
52        {
53            Key = Pattern.giveWildcardKey();
54        }
55
56
57        #region ISettings Members
58
59        private bool hasChanges;
60
61        public bool HasChanges
62        {
63            get
64            {
65                return hasChanges;
66            }
67            set
68            {
69                hasChanges = value;
70                OnPropertyChanged("HasChanges");
71            }
72        }
73
74        #endregion
75
76        #region INotifyPropertyChanged Members
77
78        public event PropertyChangedEventHandler PropertyChanged;
79
80        private void OnPropertyChanged(string p)
81        {
82            if (PropertyChanged != null)
83            {
84                PropertyChanged(this, new PropertyChangedEventArgs(p));
85            }
86        }
87
88        #endregion
89    }
90}
Note: See TracBrowser for help on using the repository browser.