EzJsonAnonymizer 1.0.0

dotnet add package EzJsonAnonymizer --version 1.0.0                
NuGet\Install-Package EzJsonAnonymizer -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="EzJsonAnonymizer" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EzJsonAnonymizer --version 1.0.0                
#r "nuget: EzJsonAnonymizer, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install EzJsonAnonymizer as a Cake Addin
#addin nuget:?package=EzJsonAnonymizer&version=1.0.0

// Install EzJsonAnonymizer as a Cake Tool
#tool nuget:?package=EzJsonAnonymizer&version=1.0.0                

EzJsonAnonymizer

Nuget package name: EzJsonAnonymizer

The easiest way to anonymize json fields (thinking about PIIs and GDPR)

Example input:

{
  "Account": "32984902348",
  "Name": "Wilson",
  "Cpf": "329048329",
  "Rg": "359034905",
  "Documents": {
    "Cnh": "3290843289",
    "UF": "SP"
  },
  "DocumentsArray": [
    {
      "Cnh": "3290843289",
      "UF": "SP"
    },
    {
      "Cnh": "3290843289",
      "UF": "SP"
    }
  ]
}

The code:

var exampleJson = // the json above
var anonymizer = new EzJsonAnonymizer(new string[] { "Name", "Cnh" }, ListTypes.WhiteList);
var output = anonymizer.Anonymize(exampleJson);
// the output will be the json below

The output:

{
  "Account": "******",
  "Name": "Wilson",
  "Cpf": "******",
  "Rg": "******",
  "Documents": {
    "Cnh": "3290843289",
    "UF": "******"
  },
  "DocumentsArray": [
    {
      "Cnh": "3290843289",
      "UF": "******"
    },
    {
      "Cnh": "3290843289",
      "UF": "******"
    }
  ]
}

Simple like that! 🎉

You can use whitelist, so all the fields that aren`t in the list will be anonymized; or you can use the blacklist, so only the fields in the list will be anonymized.

See below the properties of the construtor:

// the constructor
public EzJsonAnonymizer(
  IEnumerable<string> propertiesList, // the list of properties to be processed (it`s case insensitive)
  ListTypes listType = ListTypes.BlackList, // the type of list: whitelist or blacklist?
  int numberOfCharactersOnMask = 6,  // number of characters in the mask
  char maskCharacter = '*' // the character used for the mask
)

I hope it helps you and you enjoy it. Feel free to open issues or PRs.

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 395 10/18/2022

- First version