DBGang.Configuration.SecuredJson
1.1.2
See the version list below for details.
dotnet add package DBGang.Configuration.SecuredJson --version 1.1.2
NuGet\Install-Package DBGang.Configuration.SecuredJson -Version 1.1.2
<PackageReference Include="DBGang.Configuration.SecuredJson" Version="1.1.2" />
paket add DBGang.Configuration.SecuredJson --version 1.1.2
#r "nuget: DBGang.Configuration.SecuredJson, 1.1.2"
// Install DBGang.Configuration.SecuredJson as a Cake Addin
#addin nuget:?package=DBGang.Configuration.SecuredJson&version=1.1.2
// Install DBGang.Configuration.SecuredJson as a Cake Tool
#tool nuget:?package=DBGang.Configuration.SecuredJson&version=1.1.2
This is an expansion to Microsoft.Extensions.Configuration.Json. It adds features to protect sensitive data in JSON configuration file.
Here is an example to show how to use the it in a console application:
using System; using Microsoft.Extensions.Configuration; using DBGang.Configuration.SecuredJson;
namespace TestSecuredJson { class Program { static void Main(string[] args) { IConfiguration config = new ConfigurationBuilder() .SetBasePath(Environment.CurrentDirectory) .AddSecuredJsonFile("sample.json") // Optionally you can provide your own Passphrase to encrypt // the configuration data. //.AddSecuredJsonFile("sample.json", "myPassphrase") .Build();
Console.WriteLine(config.GetConnectionString("MyDB"));
Console.WriteLine(config["key1"]);
Console.WriteLine(config["key2"]);
}
} }
When you create the JSON file initially, you add "unencrypted:" as prefix to values you want to protect, like this: { "ConnectionStrings": { "MyDB": "unencrypted:Server=myServer;Database=myDatabase;User Id=myUsername;Password=myPassword;" }, "key1": "value1", "key2": "unencrypted:value2" }
When your application runs, if it detects this, it encrypts the value and saves the encrypted value back to the JSON file so the file will look like: { "ConnectionStrings": { "MyDB": "encrypted:npKy+h1OZb5LYt500EuotjPMflb+tg6TARUUJ3LYnb0E40W/YkOdc545PlMKd+dQl9lqZiYEQNvK3gk08tlKi2qJitXKXUTJdf0ANhgGtGM=" }, "key1": "value1", "key2": "encrypted:sbv8Nz8MyyanNPRtlfCopw==" }
The encrypted value will be decrypted automatically at the subsequent runs of your application.
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. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration (>= 2.2.0)
- Microsoft.Extensions.Configuration.FileExtensions (>= 2.2.0)
- Newtonsoft.Json (>= 12.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.