# Message Body Encryption Message encryption leverages the pipeline to encrypt the entire serialized message body. > [!NOTE] > Data in the message headers is not encrypted. One way of achieving this is by using a [transport message mutator](/nservicebus/pipeline/message-mutators.md#transport-message-mutators). ```cs public class MessageEncryptor : IMutateIncomingTransportMessages, IMutateOutgoingTransportMessages { public Task MutateIncoming(MutateIncomingTransportMessageContext context) { context.Body = context.Body.ToArray().Reverse().ToArray(); return Task.CompletedTask; } public Task MutateOutgoing(MutateOutgoingTransportMessageContext context) { context.OutgoingBody = context.OutgoingBody.ToArray().Reverse().ToArray(); return Task.CompletedTask; } } ``` The encrypting mutator must be injected via dependency injection: ```cs endpointConfiguration.RegisterMessageMutator(new MessageEncryptor()); ```