public static async Task <String> GetPasswords(CryptographicKey AesKey) { CryptographicKey k = await GetRasKey(AesKey); String R = ""; try { int a = int.Parse(await StorageInterface.ReadFromRoamingFolder("PWM/INDEX")); for (int i = 0; i < a; i++) { IBuffer crypitic = await StorageInterface.ReadBufferFromRoamingFolder("PWM/Passwords" + i); IBuffer plain = DecryptRsa(k, crypitic); String X = CryptographicBuffer.ConvertBinaryToString(BinaryStringEncoding.Utf8, plain); if (X == null) { X = ""; } R += X; } } catch (Exception e) { e.PrintStackTrace(); return(""); } return(R); }
public static async Task LoadAll() { String log = await StorageInterface.ReadFromRoamingFolder("BMW/log.log"); String cfg = await StorageInterface.ReadFromRoamingFolder("BMW/cfg.cfg"); String[] cfgs = cfg.Split("|"); if (cfgs[0].Equals("IN")) { checkedIn = true; } msSinceEpoch = long.Parse(cfgs[1]); }
public static async Task <Boolean> IsInitial() { String x; try { x = await StorageInterface.ReadFromRoamingFolder("PWM/Passwords0"); } catch (ArgumentOutOfRangeException EX) //Non-Unicode zeichen in dem verschlüsselten text können nicht richtig interpretiert werden, das heist aber, dass die Datei existiert und schon was drinsteht => reicht aus für diese überprüfung { x = EX.Message; //Eigentlicher inhalt der datei wird durch einen garantiert korrekten String ersetzt, falls die ursprüngliche nachricht nicht als String gelesen werden kann. EX.PrintStackTrace(); } Debug.WriteLine("HAVE READ"); bool X = (x == null || x.Equals("")) ? true : false;//falls entweder irgendwas in der datei steht oder die datei zeichen enthält die nicht gelesen werden können (d.h. die date nicht leer ist true sonst false;) Debug.WriteLine(X); return(X); }
public static async Task StorePasswords(String Passwords, CryptographicKey AesKey) { CryptographicKey k = await GetRasKey(AesKey); int a = int.Parse(await StorageInterface.ReadFromRoamingFolder("PWM/INDEX")); for (int i = 0; i < a; i++) { await StorageInterface.DeleteFromRoamingFolder("PWM/Passwords" + i); } String[] PWD = Passwords.DivideToLength(768); await StorageInterface.WriteToRoamingFolder("PWM/INDEX", PWD.Length.ToString()); for (int i = 0; i < PWD.Length; i++) { IBuffer plain = CryptographicBuffer.ConvertStringToBinary(PWD[i], BinaryStringEncoding.Utf8); IBuffer cryptic = CryptographicEngine.Encrypt(k, plain, null); await StorageInterface.WriteBufferToRoamingFolder("PWM/Passwords" + i, cryptic); } }
private async Task Refresh() { String[] X = (await StorageInterface.ReadFromRoamingFolder("PoloTanken.csv")).Trim().Replace("\r", "|").Replace("\n", "|").Split("|"); Double km = 0, cost = 0, liter = 0; foreach (String A in X) { String[] S = A.Trim().Split(";"); km += Double.Parse(S[0]); liter += Double.Parse(S[1]); cost += Double.Parse(S[2]); } TotalKmBox.Text = km.ToString(); TotalEuroBox.Text = cost.ToString(); TotalLiterBox.Text = liter.ToString(); TotalAvgBox.Text = (100 * liter / km).ToString(); DateTime start = new DateTime(2019, 11, 6, 15, 0, 0); DateTime now = DateTime.Now; TimeSpan diff = now - start; double allowedKm = (KM * 12.0 * diff.TotalSeconds) / (24 * 3600 * MONTHS * 365.25); maxKmBox.Text = allowedKm.ToString(); }
private async void AddEntryButton_Click(object sender, RoutedEventArgs e) { await StorageInterface.WriteToRoamingFolder("PoloTanken.csv", await StorageInterface.ReadFromRoamingFolder("PoloTanken.csv") + "\r\n" + await InputTextDialogAsync("Neue Batankung")); await Refresh(); }