Beispiel #1
0
        /// <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";
            }
        }
Beispiel #2
0
        //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);
        }
Beispiel #3
0
        /// <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);
            //}
        }