public Task <ValueEncryptionResult> EncryptAsync(
        string value,
        CancellationToken cancellationToken)
    {
        var result = new ValueEncryptionResult(
            new VariableEncryptionInfo("UNSAFE", "DEFAULT", "REVERSE"),
            new string(value.Reverse().ToArray()));

        return(Task.FromResult(result));
    }
Example #2
0
    public async Task EncryptAndDecrypt_WithDefaultKeyId_DecryptedValueEqualsPlainTextValue()
    {
        // Arrange
        IConfixServerBuilder?builder = TestContext.GetBuilder();

        builder.AddAzureKeyVaultCryptoProvider();

        ServiceProvider sp = builder.Services.BuildServiceProvider();

        IVariableCryptoProvider provider = sp.GetRequiredService <IVariableCryptoProvider>();
        string plainTextValue            = "SecretMessage";

        // Act
        ValueEncryptionResult encrypted = await provider
                                          .EncryptAsync(plainTextValue, CancellationToken.None);

        string reverse = await provider.DecryptAsync(
            encrypted.CipherValue,
            encrypted.EncryptionInfo,
            CancellationToken.None);

        // Assert
        plainTextValue.Should().Be(reverse);
    }