//Reakce na vstup uživatele static void makeResponseForChoice() { Console.Write("Zadejte vstup: "); string choice = Console.ReadLine(); switch (choice) { //Reakce na vstup uživatele, vytváření nového profilu case "1": Console.WriteLine(Environment.NewLine + "Nyní vytváříte nový profil"); //vytvoření nového objektu CipherSettings cipherSettings = new CipherSettings(); Console.Write("Zadejte název profilu: "); cipherSettings.name = Console.ReadLine(); //SQL select na databázi zdali nebyl vytvořen učet se stejným jménom var cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; //počet záznamků, pokud není nula spustí konzoli znovu if (cipherSettingsResult.Count() != 0) { Console.WriteLine("účet s tímto jménem byl již vytvořen"); RunConsole(); } Console.Write("Zadejte frázi pro generování šifry: "); cipherSettings.hashphrase = Console.ReadLine(); //funkce na uložení nového nastavení CipherSettings.CreateNewSettings(cipherSettings); Console.WriteLine("Úspěšně vytvořen záznam" + Environment.NewLine); break; //Dešifrování záznamu case "2": Cipher cipher = new Cipher(); Console.Write("Zadejte název profilu pro dešifrování záznamu: "); cipherSettings = new CipherSettings(); cipherSettings.name = Console.ReadLine(); //sql select, musí nalézt profil cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; if (cipherSettingsResult.Count() == 0) { Console.WriteLine("Nebyl nalezen zadaný profil, prosím nejprve ho vytvořte"); RunConsole(); } Console.Write("Zadejte cestu k souboru: "); cipher.path = Console.ReadLine(); //kontrola zadaného vstupu, zdali soubor existuje CheckFilePath(cipher.path); cipher.cryptedText = File.ReadAllText(cipher.path); //dešifrování textu cipher.text = Cipher.TextEncryption(cipher.cryptedText, cipherSettingsResult[0].index); Console.WriteLine("Dešifrovaný text: {0}", cipher.text); break; //šifrování zadaného textu case "3": Console.Write("Zadejte název profilu pro šifrování záznamu: "); cipherSettings = new CipherSettings(); cipherSettings.name = Console.ReadLine(); //sql select profilu pro dešifrování cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; if (cipherSettingsResult.Count() == 0) { Console.WriteLine("Nebyl nalezen zadaný profil, prosím nejprve ho vytvořte"); RunConsole(); } Console.Write("Zadejte šifrovaný text: "); cipher = new Cipher(); cipher.text = Console.ReadLine(); Console.Write("Přejete si uložit text do souboru? Y/N : "); bool decision = DecisionMaker(Console.ReadLine()); //šifrování textu cipher.cryptedText = Cipher.TextEncryption(cipher.text, cipherSettingsResult[0].index, true); if (decision) { //uloží soubor s aktualním časem do hlavní složky Console.WriteLine("Soubor uložen zde:" + System.AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("dd-MM-yyyy_H-mm-ss") + ".txt"); File.WriteAllText(@System.AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("dd-MM-yyyy_H-mm-ss") + ".txt", cipher.cryptedText); } else { Console.Write("Šifrovaný text: "); Console.WriteLine(cipher.cryptedText); } break; case "4": //vypsání šifrovacích nastavení cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.Select().Result; for (int i = 0; i < cipherSettingsResult.Count; i++) { Console.WriteLine("Jméno: {0}, hashovací fráze: {1}, hash: {2}, index {3}", cipherSettingsResult[i].name, cipherSettingsResult[i].hashphrase, cipherSettingsResult[i].hash, cipherSettingsResult[i].index); } break; default: Console.WriteLine("Nezvolil jste správně"); Console.WriteLine(); Main(null); break; } }
public Task <int> SaveItemAsync(CipherSettings item) { return(database.InsertAsync(item)); }
static void makeResponseForChoice() { Console.Write("Zadejte vstup: "); string choice = Console.ReadLine(); switch (choice) { case "1": Console.WriteLine(Environment.NewLine + "Nyní vytváříte nový profil"); CipherSettings cipherSettings = new CipherSettings(); Console.Write("Zadejte název profilu: "); cipherSettings.name = Console.ReadLine(); var cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; if (cipherSettingsResult.Count() != 0) { Console.WriteLine("účet s tímto jménem byl již vytvořen"); RunConsole(); } Console.Write("Zadejte frázi pro generování šifry: "); cipherSettings.hashphrase = Console.ReadLine(); CipherSettings.CreateNewSettings(cipherSettings); Console.WriteLine("Úspěšně vytvořen záznam" + Environment.NewLine); break; case "2": Cipher cipher = new Cipher(); Console.Write("Zadejte název profilu pro dešifrování záznamu: "); cipherSettings = new CipherSettings(); cipherSettings.name = Console.ReadLine(); cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; if (cipherSettingsResult.Count() == 0) { Console.WriteLine("Nebyl nalezen zadaný profil, prosím nejprve ho vytvořte"); RunConsole(); } Console.Write("Zadejte cestu k souboru: "); cipher.path = Console.ReadLine(); CheckFilePath(cipher.path); cipher.cryptedText = File.ReadAllText(cipher.path); cipher.text = Cipher.TextEncryption(cipher.cryptedText, cipherSettingsResult[0].index); Console.WriteLine("Dešifrovaný text: {0}", cipher.text); break; case "3": Console.Write("Zadejte název profilu pro šifrování záznamu: "); cipherSettings = new CipherSettings(); cipherSettings.name = Console.ReadLine(); cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.SelectByName(cipherSettings.name).Result; if (cipherSettingsResult.Count() == 0) { Console.WriteLine("Nebyl nalezen zadaný profil, prosím nejprve ho vytvořte"); RunConsole(); } Console.Write("Zadejte šifrovaný text: "); cipher = new Cipher(); cipher.text = Console.ReadLine(); Console.Write("Přejete si uložit text do souboru? Y/N : "); bool decision = DecisionMaker(Console.ReadLine()); cipher.cryptedText = Cipher.TextEncryption(cipher.text, cipherSettingsResult[0].index, true); if (decision) { Console.WriteLine("Soubor uložen zde:" + System.AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("dd-MM-yyyy_H-mm-ss") + ".txt"); File.WriteAllText(@System.AppDomain.CurrentDomain.BaseDirectory + DateTime.Now.ToString("dd-MM-yyyy_H-mm-ss") + ".txt", cipher.cryptedText); } else { Console.Write("Šifrovaný text: "); Console.WriteLine(cipher.cryptedText); } break; case "4": cipherSettingsResult = DatabaseFactory.DatabaseCipherSettings.Select().Result; for (int i = 0; i < cipherSettingsResult.Count; i++) { Console.WriteLine("Jméno: {0}, hashovací fráze: {1}, hash: {2}, index {3}", cipherSettingsResult[i].name, cipherSettingsResult[i].hashphrase, cipherSettingsResult[i].hash, cipherSettingsResult[i].index); } break; default: Console.WriteLine("Nezvolil jste správně"); Console.WriteLine(); Main(null); break; } }