Я пытаюсь сделать программу, в которой хранятся много файлов (5-15) .txt в изолированной памяти телефона. Я заметил, как легко читать эти файлы с такими программами, как Windows Phone Power Tools, поэтому я решил их зашифровать. Я использую эту ссылку в качестве учебника:Windows Phone 7: Расшифровка большого количества файлов из изолированного хранилища
http://msdn.microsoft.com/en-us/library/windows/apps/hh487164(v=vs.105).aspx
Шифрование работает отлично, как и я, очевидно, сохранение одного файла одновременно. Однако у меня возникают проблемы, пытаясь их расшифровать. Как мне изменить свой код, чтобы я мог расшифровать многие .txt-файлы? Ниже приведены мои коды, которые я использую в данный момент:
private void IsoRead()
{
System.IO.IsolatedStorage.IsolatedStorageFile local =
System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication();
string[] filenames = local.GetFileNames("./DataFolder/*.txt*");
foreach (var fname in filenames)
{
//retrieve byte
byte[] ProtectedByte = this.DecryptByte();
//decrypt with Unprotect method
byte[] FromByte = ProtectedData.Unprotect(ProtectedByte, null);
//convert from byte to string
fText = Encoding.UTF8.GetString(FromByte, 0, FromByte.Length);
this.Items.Add(new itemView() { LineOne = fname, LineTwo = fText });
}
}
И еще один:
private byte[] DecryptByte()
{
// Access the file in the application's isolated storage.
IsolatedStorageFile file = IsolatedStorageFile.GetUserStoreForApplication();
IsolatedStorageFileStream readstream = new IsolatedStorageFileStream
("DataFolder\\"/*Here's where I'm having problems with*/, System.IO.FileMode.Open, FileAccess.Read, file);
// Read the written data from the file.
Stream reader = new StreamReader(readstream).BaseStream;
byte[] dataArray = new byte[reader.Length];
reader.Read(dataArray, 0, dataArray.Length);
return dataArray;
}
Так в основном программа имеет страницу ListView, которые получают это файлы из изолированного хранилища. Если кто-то тронут, он переходит на новую страницу, в которой отображается то, что написано в ней.
Вопрос с бонусом: могу ли я зашифровать папки в WP7/WP8?
Редактировать: добавлена одна строка кода в IsoRead.
Какие проблемы вы с точно? Производительность связана? – FunksMaName
@FunksMaName Мой вопрос: Как мне изменить свой код, чтобы я мог расшифровать многие .txt-файлы? Я отредактировал мое сообщение, так что теперь вопрос теперь легче заметить и для других. – user3616427
Хорошо, я сейчас задаю вопрос. Я адаптировал пример здесь как ответ, чтобы он работал для нескольких файлов. http://msdn.microsoft.com/en-us/library/windows/apps/hh487164%28v=vs.105%29.aspx Я думаю, что у вас проблемы с этой строкой, потому что вы не пытаетесь прочитать действительный файл , «DataFolder \\» не указывает на файл, это папка, поэтому вам может потребоваться указать правильное имя файла. – FunksMaName