memory map compression encryption

Guys,

Is it possible to use the .Net 4 Memory mapping solution with an encrypted/compressed file on disk?  Im having trouble and feel it may not be possible, Ive googled around and there doesnt seem to be a lot on this specific point, heres a test code snippet Ive setup (which compiles) but doesnt run.  Note if I use a filestream and avoid the memory map idea it works properly, In this scenario the accessor is grabbing everything as Im using a small file for demo purpose.  FYI its getting to where the "line = sReader.ReadLine();" before hanging (theres no exception throwing, I have to exit VS2010 to stop it) cheers

 I need a heads up on whether it can be done, and if so how to alter this snippet to work properly, cheers
		private string GetLastDateInFile(string filePath)
			{
			string[] lineString;
			CryptoStream decryptStream;
			C1ZStreamReader compressReader = null;
			string line;
			string[] lastLineString = null;

			// If the file does not exist, return ""
			if (!File.Exists(filePath))
				return "";

			FileInfo fileInfo = new FileInfo(filePath);

			using (MemoryMappedFile memoryMappedFile = MemoryMappedFile.CreateFromFile(filePath, FileMode.Open))
					{
					using (MemoryMappedViewStream accessor = memoryMappedFile.CreateViewStream())
						{
						// open expander stream on compressed source
						decryptStream = new CryptoStream(accessor, Global.DECRYPTOR_MAIN, CryptoStreamMode.Read);
						compressReader = new C1ZStreamReader(decryptStream);

						using (StreamReader sReader = new StreamReader(compressReader))
							{
							line = sReader.ReadLine();

							while ((line = sReader.ReadLine()) != null)
								{
								lineString = line.Split(',');

								if (lineString.Length < 13)
									continue;

								// remember the last
								lastLineString = lineString;
								}
							}
						}
					}

			// return the datestring
			return lastLineString[1];
			}

Open in new window

TheMoogAsked:
Who is Participating?
 
TheMoogConnect With a Mentor Author Commented:
The answer was that the C1 compression type was not compatible.  When that was substituted with a GZip compression type it all works perfectly.  I should of guessed that right at the start.

Thanks anyway.

And the answer to my question is yes you can encrypt and compress using memory mapping which is cool
0
 
lenordisteCommented:
What software is handling your disk's encryption?
Can you actually try your code without handling the encryption/decryption?
0
 
lenordisteCommented:
good to know !
0
 
TolomirAdministratorCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.