· 4 years ago · Mar 18, 2021, 12:10 PM
1public static void CreateServer(string _servername, string _intvector) //Takes the secret key and prints over previous data in the json file
2 {
3 Password password1 = new Password();
4 password1.Property = "";
5 password1.Text = "";
6
7 List<Password> passwordlist = new List<Password>();
8 passwordlist.Add(password1);
9
10 Vault vault11 = new Vault();
11 vault11.initVector = _intvector;
12 vault11.Passwords = passwordlist;
13
14 string finalJson = JsonSerializer.Serialize(vault11);
15 File.WriteAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json", finalJson);
16 }
17
18
19 public class Vault
20 {
21 public string initVector { get; set; }
22 public List<Password> Passwords { get; set; }
23 }
24
25 public class Password
26 {
27 public string Property { get; set; }
28 public string Text { get; set; }
29 }
30
31 public static void DeleteServer(string _servername)
32 {
33 File.Delete(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
34 }
35
36 public static void CreateClient(string _clientname, string _secretkey) // SKAPAR EN KLIENT
37 {
38 string jsonString = JsonSerializer.Serialize(_secretkey);
39 File.WriteAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _clientname +".json", jsonString);
40 }
41
42 public static void DeleteClient(string _clientname, string _secretkey) // RADERAR EN KLIENT
43 {
44 File.Delete(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _clientname + ".json");
45 }
46
47 public static void ReadClientKey(string _clientname) // VISAR EN KLIENTNYCKEL
48 {
49 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _clientname + ".json");
50 Console.WriteLine(jsonString);
51 }
52
53 public static void ReadPassword(string _servername, int _vaultnumber, string _prop) // VISAR ETT VALV
54 {
55
56 bool isthere = false;
57
58 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
59
60 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
61
62 foreach (var item in readvault.Passwords)
63 {
64 if(item.Property == _prop)
65 {
66 Console.WriteLine("Requested password: " + item.Text);
67 isthere = true;
68 }
69 }
70
71 if(!isthere)
72 {
73 Console.WriteLine("Property not found, are you sure that property exist?");
74 ShowProps(_servername);
75 }
76
77 }
78
79 public static void RemovePassword(string _servername, int _vaultnumber, string _prop) // TAR BORT ETT LÖSENORD UR VALVET
80 {
81
82 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
83
84 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
85
86 bool removed = false;
87
88 foreach (var password in readvault.Passwords)
89 {
90 if(password.Property == _prop)
91 {
92 readvault.Passwords.Remove(password);
93 removed = true;
94 break;
95
96 }
97 }
98 string finalJson = JsonSerializer.Serialize(readvault);
99 File.WriteAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json", finalJson);
100
101 if (removed)
102 {
103 Console.WriteLine("The password for: '" + _prop + "' was successfully removed.");
104 }
105 else
106 {
107 Console.WriteLine("The password for: '" + _prop + "' could not be removed, are you sure that property exist?");
108 ShowProps(_servername);
109 }
110 }
111
112
113 public static void AddPassword(int _servername, int _vaultnumber, string _prop, string _password) // ADDERAR ETT LÖSENORD I ETT VALV
114 {
115
116 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
117
118 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
119
120 Password password = new Password();
121 password.Property = _prop;
122 password.Text = _password;
123
124
125 readvault.Passwords.Add(password);
126
127
128 foreach(var item in readvault.Passwords)
129 {
130
131 if(item.Property == "")
132 {
133 readvault.Passwords.Remove(item);
134 break;
135 }
136 }
137 string finalJson = JsonSerializer.Serialize(readvault);
138 File.WriteAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json", finalJson);
139
140 }
141
142 public static void EditPassword(string _servername, string _prop, string _password)
143 {
144 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
145
146 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
147
148 Password password = new Password();
149 password.Property = _prop;
150 password.Text = _password;
151
152 bool changed = false;
153
154 foreach (var item in readvault.Passwords)
155 {
156 if (item.Property == _prop)
157 {
158 item.Text = _password;
159 changed = true;
160 break;
161 }
162 }
163 if (changed)
164 {
165 Console.WriteLine("Your password for " + _prop + " was changed.");
166 }
167 else
168 {
169 Console.WriteLine("Your password could not be changed, are you sure that prop exist? List of available props:");
170 ShowProps(_servername);
171 }
172 string finalJson = JsonSerializer.Serialize(readvault);
173 File.WriteAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json", finalJson);
174 }
175
176
177 public static void ReadVault(string _servername, int _vaultnumber) // VISAR ETT VALV
178 {
179 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
180
181 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
182
183 foreach(var item in readvault.Passwords)
184 {
185 Console.WriteLine(item);
186 }
187
188 }
189 public static void ShowProps(string _servername)
190 {
191 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
192 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
193 foreach (var item in readvault.Passwords)
194 {
195 Console.Write(item.Property + " ");
196
197 }
198
199 }
200
201 public static string ShowVector(string _servername)
202 {
203 string jsonString = File.ReadAllText(@"G:\Visual Studio Projects\ITsecProjektG10-main\" + _servername + ".json");
204 Vault readvault = JsonSerializer.Deserialize<Vault>(jsonString);
205
206 return readvault.initVector;
207 }