private string Decrypt(string input) { OnBeforeMoonbyteCommandsEventArgs OnBeforeRequest = new OnBeforeMoonbyteCommandsEventArgs() { SettingDirectory = this.SettingsDirectory }; OnBeforeDecryptMessage?.Invoke(this, OnBeforeRequest); if (OnBeforeRequest.CancelRequest == BaseCommands.MoonbyteCancelRequest.Continue) { input = input.Replace(" ", "+"); byte[] cipherBytes = Convert.FromBase64String(input); using (Aes encryptor = Aes.Create()) { Rfc2898DeriveBytes pdb = new Rfc2898DeriveBytes(encryptionKey.GetEncryptionKey(), new byte[] { 0x49, 0x76, 0x61, 0x6e, 0x20, 0x4d, 0x65, 0x64, 0x76, 0x65, 0x64, 0x65, 0x76 }); encryptor.Key = pdb.GetBytes(32); encryptor.IV = pdb.GetBytes(16); using (MemoryStream ms = new MemoryStream()) { using (CryptoStream cs = new CryptoStream(ms, encryptor.CreateDecryptor(), CryptoStreamMode.Write)) { cs.Write(cipherBytes, 0, cipherBytes.Length); cs.Close(); } input = Encoding.Unicode.GetString(ms.ToArray()); } } } OnAfterDecryptMessage?.Invoke(this, new EventArgs()); return(input); }
public void Execute(OnAfterDecryptMessage pipelineEvent) { if (!_log.IsTraceEnabled) { return; } var transportMessage = pipelineEvent.Pipeline.State.GetTransportMessage(); if (!transportMessage.EncryptionEnabled()) { return; } _log.Trace(string.Format(LoggingResources.DecryptedMessage, transportMessage.MessageType, transportMessage.MessageId, transportMessage.CompressionAlgorithm)); }