コード例 #1
0
ファイル: DecryptFile.cs プロジェクト: MasterMotoi/projet-jee
        // a utiliser si la classe est heberge en tant que service
        public void decryptFile(model.File file)
        {
            DecryptFile businessDecrypter = new DecryptFile();

            businessDecrypter.SetFileAndKey(file);
            Thread InstanceCaller = new Thread(new ThreadStart(businessDecrypter.decryptThread));

            InstanceCaller.Start();
        }
コード例 #2
0
ファイル: DecryptFile.cs プロジェクト: MasterMotoi/projet-jee
        public void decryptFilewithKey(model.File file, string key)
        {
            Console.WriteLine(key);
            model.File decryptedFile = new model.File();
            int        i             = 0;
            int        fileSize      = file.data.Length;
            string     scaledKey     = "";
            int        modulo        = 0;
            int        tempChar      = 0;

            //On adapte la clé

            modulo = file.data.Length % key.Length;
            for (i = 0; i < file.data.Length / key.Length; i++)
            {
                scaledKey += key;
            }
            for (i = 0; i < file.data.Length % key.Length; i++)
            {
                scaledKey += key[i];
            }

            //on parcours char par char le fichier et on applique la clé xor

            for (i = 0; i < fileSize; i++)
            {
                tempChar            = Convert.ToInt32(file.data[i]) ^ Convert.ToInt32(scaledKey[i]);
                decryptedFile.data += (char)tempChar;
            }
            Console.WriteLine("Fichier :" + file.name + "\nCle :" + key + "\nDecryption :" + decryptedFile.data);

            Trace.WriteLine("Fichier :" + file.name + "\nCle :" + key + "\nDecryption :" + decryptedFile.data + "\n---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------");


            //clientSoap.CallWebService(key, file.name, decryptedFile.data);
        }
コード例 #3
0
ファイル: Decryption.cs プロジェクト: MasterMotoi/projet-jee
 public async void callDecryptFile(model.File file, decryptionBusiness.DecryptFile decryptBizz)
 {
     decryptBizz.decryptFile(file);
 }
コード例 #4
0
ファイル: Decryption.cs プロジェクト: MasterMotoi/projet-jee
        public model.MsgStruct decrypt(model.MsgStruct message)
        {
            model.MsgStruct returnMsg = new model.MsgStruct();
            //EndpointAddress epDecrypt = new EndpointAddress("http://localhost:8010/Server/services/decrypt_file");
            List <model.File> files = new List <model.File>();

            decryptionBusiness.DecryptFile decryptbizz = new decryptionBusiness.DecryptFile();


            string tokenApp   = message.tokenApp;
            string tokenUser  = message.tokenUser;
            int    fileNumber = message.data.Length - 2;

            if (tokenUser != "'Z|1li:GZ3VW<^3")
            {
                returnMsg.statutOp         = false;
                returnMsg.info             = "invalid tokenUser";
                returnMsg.operationName    = "decrypt_return";
                returnMsg.tokenApp         = "?h:XPjO9b)z3Ox7";
                returnMsg.tokenUser        = "******";
                returnMsg.appVersion       = "1.0";
                returnMsg.operationVersion = "1.0";
                return(returnMsg);
            }

            for (int i = 2; i < message.data.Length; i++)
            {
                model.File tempFile = new model.File();

                string[] splitedFile = ((string)message.data[i]).Split(new char[] { '|' }, 2);

                tempFile.name = splitedFile[0];
                tempFile.data = splitedFile[1];
                files.Add(tempFile);
            }

            //thread
            //decryptionBusiness.IDecryptFile decryptionBusiness= ChannelFactory<decryptionBusiness.IDecryptFile>.CreateChannel(new BasicHttpBinding(), epDecrypt);
            //decryptionBusiness.DecryptFile decryptionBusiness = new DecryptFile();

            foreach (model.File file in files.ToArray())
            {
                //decryptionWorkflow.
                //DecryptFile decrypt = new DecryptFile();
                //decrypt.SetFileAndKey(file, "cesi");
                //decrypt.decryptFile(file);
                DecryptFile businessDecrypter = new DecryptFile();
                businessDecrypter.SetFileAndKey(file);
                Thread InstanceCaller = new Thread(new ThreadStart(businessDecrypter.decryptThread));
                InstanceCaller.Start();

                //Task.Run(() => callDecryptFile(file, decryptbizz));

                //decryptionBusiness.SetFileAndKey(file, "cesi");
                //decryptionBusiness.decryptFile(file, "CESI");
                //Thread InstanceCaller = new Thread(new ThreadStart(decryptionBusiness.decryptFile));
            }



            returnMsg.statutOp         = false;
            returnMsg.info             = "successful decryption";
            returnMsg.operationName    = "decrypt_return";
            returnMsg.tokenApp         = "MiddlewareToken";
            returnMsg.tokenUser        = "******";
            returnMsg.appVersion       = "1.0";
            returnMsg.operationVersion = "1.0";
            returnMsg.data             = new object[] { (object)true, (object)"", (object)"", (object)"" };

            return(returnMsg);
            //return null;
        }
コード例 #5
0
ファイル: DecryptFile.cs プロジェクト: MasterMotoi/projet-jee
 public void SetFileAndKey(model.File file)
 {
     this.file = file;
 }