/// <summary> /// Encrypt, Split, Upload the file on IPFS and Timestamp on DCore /// </summary> /// <param name="file">filepath</param> //string[] public void EncryptSplitUploadFile(string file) { try { //We encrypt string encryptedFile = Encryption.EncryptFile(file); //We split string[] splittedFile = Split.SplitFile(encryptedFile); //Update or Create new Entry? bool FileExist = SearchFileByPathBlockgetFS(file); List <string> EntryFileCid = new List <string> { file, "", "", "" }; // We can send for (int i = 0; i <= Globals.SPLIT_NB - 1; i++) { Console.WriteLine("Adding {0} at position {1} for {2} entry", splittedFile[i], i + 1, file); ipfsblock.IpfsUploadDCore(splittedFile[i], i + 1, EntryFileCid); } //Add or Update? => Check if it exists or not if (FileExist) { Console.WriteLine("The file {0} already exists in Blockget, we update", file); // form.richTextBox1.Text = "The file " + file + " already exist in Blockget, we update"; UpdateEntryListFileNamesCids(file, EntryFileCid); } else { Console.WriteLine("Creating a new file in Blockget File System"); // form.richTextBox1.Text = "Creating a new file in Blockget File System"; AddEntryListFileNamesCids(EntryFileCid); } //We delete the temp files: //foreach (string tempFile in splittedFile) { // File.Delete(tempFile); //} File.Delete(encryptedFile); } catch (Exception e) { //System.UnauthorizedAccessException from Encryption Input FileStream Console.WriteLine(e.Message); //Cross-thread operation not valid: Control 'richTextBox1' accessed from a thread other than the thread it was created on.' // form.richTextBox1.Text = "Couldn't encrypt and upload the file into Blockget IPFS"; } }
//Split and Merge Encrypted Text public static void testSplitMergeEncryptedText() { string encryptedFile = Encryption.EncryptTextFile("C:\\Blockget\\test.txt"); Console.WriteLine("TEST: Encrypted file: {0}", encryptedFile); string[] splittedFiles = Split.SplitFile("C:\\Blockget\\test.txt.aes"); foreach (string s in splittedFiles) { Console.WriteLine("TEST: Splitted Files paths are {0}", s); } string outputMerge = Split.MergeFile("C:\\Blockget\\test-txt\\"); Console.WriteLine("TEST: Output of merged file is {0}", outputMerge); string resultDecrypt = Encryption.DecryptTextFile("C:\\Blockget\\test-txt\\test.txt.aes"); Console.WriteLine("TEST: Decryped file is {0}", resultDecrypt); }
/// <summary> /// Encrypt, Split, Upload the text on IPFS and Timestamp on DCore /// </summary> /// <param name="file">filepath</param> //string[] void EncryptSplitUploadText(string file) { //We encrypt string encryptedFile = Encryption.EncryptTextFile(file); //We split string[] splittedFile = Split.SplitFile(encryptedFile); //Update or Create new Entry? bool FileExist = fs.SearchFileByPathBlockgetFS(file); List <string> EntryFileCid = new List <string> { file, "", "", "" }; // We can send for (int i = 0; i <= Globals.SPLIT_NB - 1; i++) { Console.WriteLine("Adding {0} at position {1} for {2} entry", splittedFile[i], i + 1, file); //S2 - reference IpfsUploadDCore(splittedFile[i], i + 1, EntryFileCid); } //Add or Update? => Check if it exist or not if (FileExist) { Console.WriteLine("The file {0} already exist in Blockget, we update"); fs.UpdateEntryListFileNamesCids(file, EntryFileCid); } else { Console.WriteLine("Creating a new file in Blockget File System"); fs.AddEntryListFileNamesCids(EntryFileCid); } //We delete the temp files: //foreach (string tempFile in splittedFile) { // File.Delete(tempFile); //} }