public async Task SaveToFileAsync(IStorageFile storageFile, string password, PasswordKeeper passwordKeeper) { using (var stream = await storageFile.OpenTransactedWriteAsync()) { using (var mem = new MemoryStream(Encoding.UTF8.GetBytes(passwordKeeper.SaveToJson()))) { EncryptAndDecrypt.Encrypt(mem, password, stream.Stream.AsStreamForWrite()); } await stream.CommitAsync(); } }
public async Task <PasswordKeeper> LoadFromFileAsync(IStorageFile storageFile, string password) { using (var stream = await storageFile.OpenStreamForReadAsync()) { using (var mem = new MemoryStream()) { EncryptAndDecrypt.Decrypt(stream, password, mem); var passwordKeeper = new PasswordKeeper(); mem.Seek(0, SeekOrigin.Begin); passwordKeeper.LoadString(GetText(mem)); return(passwordKeeper); } } }