private byte[] EncryptDecrypt(EnumCrypt typeCrypt, byte[] inputBytes, bool encrpyt) { //-------------------------- /*Encoder tipo DES*/ //DES.Create(); //-------------------------- /*Encoder tipo RC2*/ //RC2.Create(); //-------------------------- /*Encoder tipo Rijndael*/ //Rijndael.Create(); //-------------------------- /*Encoder tipo Triple-DES*/ //TripleDES.Create(); //-------------------------- SymmetricAlgorithm SA; switch (typeCrypt) { case EnumCrypt.DES: SA = DES.Create(); break; case EnumCrypt.RC2: SA = RC2.Create(); break; case EnumCrypt.Rijndael: SA = Rijndael.Create(); break; case EnumCrypt.TripleDES: SA = TripleDES.Create(); break; default: throw new NotImplementedException($"Cryptation not implemented [{typeCrypt}]."); } //-------------------------- SA.Key = MKEY; SA.IV = MIV; //Transformação correta baseado no opção so usuario var transform = encrpyt ? SA.CreateEncryptor() : SA.CreateDecryptor(); //Memory stream para saida var memStream = new MemoryStream(); //Array de bytes para saida byte[] output; //Configura o encriptador e escreve no MemoryStream a saida var cryptStream = new CryptoStream(memStream, transform, CryptoStreamMode.Write); //Escreve as informações no mecanismo do encriptador cryptStream.Write(inputBytes, 0, inputBytes.Length); //Finaliza e escreve todas as informações necessárias na memoria cryptStream.FlushFinalBlock(); //Resgata o array de bytes output = memStream.ToArray(); //Finaliza o mecanismo de criptografia e fecha o canal de comunicação de memoria cryptStream.Close(); return(output); }