Skip to content

Shuttle.Core.Encryption

PM> Install-Package Shuttle.Core.Encryption

Provides an encryption adapter through the IEncryptionAlgorithm interface.

Implementations available in this package:

  • TripleDesEncryptionAlgorithm
  • NullEncryptionAlgorithm

There is also an IEncryptionService that acts as a central container for all registered IEncryptionAlgorithm implementations.

Configuration

In order to add encryption:

c#
services.AddEncryption(builder => {
	builder.AddTripleDes(tripleDesOptions);
});

Will try to add the EncryptionService singleton, with an option to add the TripleDesEncryptionAlgorithm instance using the given symmetric Key.

The default JSON settings structure is as follows:

json
{
	"Shuttle": {
		"TripleDes": {
			"Key": "triple-des-key"
		}
	}
}

Usage

c#
var algorithm = encryptionService.Get("algorithm-name");
var encrypted = await algorithm.EncryptAsync(Encoding.UTF8.GetBytes("some data"));
var decrypted = await algorithm.DecryptAsync(encrypted);