JSanitizer 3.0.0
More code updates
See the version list below for details.
dotnet add package JSanitizer --version 3.0.0
NuGet\Install-Package JSanitizer -Version 3.0.0
<PackageReference Include="JSanitizer" Version="3.0.0" />
paket add JSanitizer --version 3.0.0
#r "nuget: JSanitizer, 3.0.0"
// Install JSanitizer as a Cake Addin #addin nuget:?package=JSanitizer&version=3.0.0 // Install JSanitizer as a Cake Tool #tool nuget:?package=JSanitizer&version=3.0.0
JSanitizer
Configurable sanitizer for XML and JSON string value through extension method.
Features
- Default sanitizer to replace password value
- Sanitize with options
- Default value replacer
- Add property to sanitize value
Requirements
- .NET Core 3.1
- Visual Studio or VS Code
How to use:
- Go to Tools and select Manage Nuget Packages and Search for JSanitizer library
Install-Package JSanitizer -Version 3.0.0
Extension:
.SanitizeJsonValue(configPath)
.SanitizeXmlValue(configPath)
.SanitizeJsonValue(options)
.SanitizeXmlValue(options)
How to create your custom JSON configurations.
- Create folder with name JSOptions under your project then create json file with name SanitizerOptions.json under the said folder as your default configuration and follow the object format below.
{Project.Name}/JSOptions/SanitizerOptions.json
{
"DefaultMaskValue": "#",
"ConfigurationValue": [
{
"id": 1,
"XmlMask": {
"MaskValue": "#",
"IsFullMasking": false,
"Sensitivity": [
{
"TargetProperties": [
"Password",
"password",
"PASSWROD"
],
"Positions": {
"Left": 1,
"Center": 1,
"Right": 1
}
}
]
},
"JsonMask": {
"MaskValue": "#",
"IsFullMasking": false,
"Sensitivity": [
{
"TargetProperties": [
"Password",
"password",
"PASSWROD"
],
"Positions": {
"Left": 3,
"Center": 3,
"Right": 3
}
}
]
}
}
]
}
note: It will throw an exception if you use the default json or xml extension methods without providing default json configurations.
remarks: You can add more properties under Sensitivity for value masking.
- Sanitize without options
[HttpGet, Route("GetWithJsonConfiguration")]
public IActionResult Get()
{
string configDir = $"{Directory.GetCurrentDirectory()}\\JSOptions\\SanitizerOptions.json";
Data data = new Data()
{
JsonArrayResult = "[{\"password\":\"password@412\", \"data\": \"sample\" }]".SanitizeJsonValue(configDir),
Name = "{\"name\":\"John\", \"age\":30, \"password\":\"password@123\" }".SanitizeJsonValue(configDir),
XMLResult = _xmlValue.SanitizeXmlValue(configDir)
};
return Ok(data);
}
- Sanitize withoptions
[HttpGet, Route("GetWithClassConfigurations")]
public IActionResult GetWithOptions()
{
Data data = new Data()
{
XMLResult = _xmlValue.SanitizeXmlValue(new XmlMask()
{
MaskValue = "#",
IsFullMasking = false,
Sensitivity = new List<Sensitivity>()
{
new Sensitivity()
{
TargetProperties = new List<string> {
"Password",
"password",
"PASSWROD"
},
Positions = new MaskPosition ()
{
Left = 3,
Center = 2,
Right = 2
}
}
}
})
};
return Ok(data);
}
License
Copyright (c) 2020 Joever Monceda
Linkedin: Joever Monceda
Medium: Joever Monceda
Twitter @_EthanHunt07
Facebook: Ethan Hunt
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Newtonsoft.Json (>= 12.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add Configuration Path / Update configurations / Update Sensitivity / Add Positions