Пример #1
0
        public void Public_properties_are_encrypted_and_decrypted()
        {
            var dataProtectionProvider = Helpers.GetTestDataProtectionProvider(ApplicationName);
            var contractResolver       = new JsonCryptionContractResolver(dataProtectionProvider);
            var serializer             = new JsonSerializer()
            {
                ContractResolver = contractResolver
            };

            var instance = new FooBool {
                MyBool = true
            };

            var builder = new StringBuilder();

            using (var textWriter = new StringWriter(builder))
                serializer.Serialize(textWriter, instance);

            var json = builder.ToString();

            json.ShouldNotBe("{\"MyBool\":true}");

            using var textReader = new StringReader(json);
            using var reader     = new JsonTextReader(textReader);
            var decrypted = serializer.Deserialize <FooBool>(reader);

            decrypted.MyBool.ShouldBeTrue();
        }
Пример #2
0
        public void Boolean_works()
        {
            Coordinator.Configure(options => options.DataProtectionProvider = DataProtectionProvider.Create("test"));

            var foo = new FooBool {
                MyBool = true
            };
            var json = JsonSerializer.Serialize(foo);

            // make sure it's encrypted
            using (var jsonDoc = JsonDocument.Parse(json))
            {
                var jsonProperty = jsonDoc.RootElement.GetProperty(nameof(FooBool.MyBool));
                jsonProperty.ValueKind.ShouldBe(JsonValueKind.String);
            }

            // decrypt and check
            var decrypted = JsonSerializer.Deserialize <FooBool>(json);

            decrypted.MyBool.ShouldBeTrue();
        }