你可以查看我的
Moonrise.StandardUtils.NetStd NuGet包。Settings类拥有透明的加密和解密功能,并且是访问JSON设置文件的更简单方法 - 无论是应用程序还是用户 - 在任何.NET应用程序中。
Settings.Application.SettingsEncryptor = new DpApiSettingsEncryptor(DpApiSettingsEncryptor.ProtectionScope.Machine);
MyConfigClass config;
Settings.Application.Read("Configuration", ref config)
任何先前加密的个人或团体设置都将被解密。您可以使用以下方式加密设置;
Settings.Application.Write("ContainerStartup:FileProviders:BrandingConfig", secretValue, true)
或者使用捆绑在Moonrise.Microsoft.EncryptedJsonConfiguration或Moonrise.Samples NuGet软件包中的EncryptAppSettings.exe - 您会在软件包文件/目录中找到它 - 这是一种获取.exe文件的方法。
Moonrise.Microsoft.EncryptedJsonConfiguration允许您使用IConfigurationBuilder和.AddEncyptedJsonFile(...),这将透明地解密使用EncryptAppSettings.exe加密的任何设置。
这是一个部分加密的appSettings.json片段
"ContainerStartup": {
"FileProviders": {
"BrandingConfig": "[{ENC]{AQAAANCMnd8BFdERjHoAwE/Cl+sBAAAAsevacb5DdkaxvzOPPkLrdwQAAAACAAAAAAAQZgAAAAEAACAAAADITnvKp+Lnb5n6kPK7WyYuWFQLnbvbkOvgHBLBdIw2MAAAAAAOgAAAAAIAACAAAADqJZ0YUGC+jOEr4/6hgQ+8UdZ1ssbiEXXCjdhSV3teZ3AAAAAW4d8Z38JYNM1Dw45KquZYK+bTszYp/1wXt+LiYpiy2q88sOpQr5VpDFatgWar1aOePXA52RC6eZH1HFrYijqWTSEiffBqWzWZPPTXw1wkUVB5MLIjOq4bu33h+4Z23Vy+XaFsf6IFVl4ccM4fHpsRQAAAAAG5OP+nJQxzH3A7n3gnh8d2eAOFgLWzYCDgQon7NXHeEJcZezgxT+0npvIQ/kcYb1Xpwt7FiNtyJ2HZswL8MSg=]{ENC[{",
"SearchingNotification": true,
"UseBranding": false,
"UseLocalModule": true,
"UseLocalModuleEmbedded": true,
"UseParentModules": true,
"UseParentModulesEmbedded": false
},