Class CfgBuilderExtensions
CfgBuilder 的加密脱敏扩展方法
public static class CfgBuilderExtensions
- Inheritance
-
CfgBuilderExtensions
- Inherited Members
Methods
AddAesCbcEncryption(CfgBuilder, string, string, Action<EncryptionOptions>?)
添加 AES-CBC 加密支持
public static CfgBuilder AddAesCbcEncryption(this CfgBuilder builder, string base64EncryptionKey, string base64HmacKey, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderbase64EncryptionKeystringbase64HmacKeystringconfigureAction<EncryptionOptions>
Returns
AddAesGcmEncryption(CfgBuilder, string, Action<EncryptionOptions>?)
添加 AES-GCM 加密支持
public static CfgBuilder AddAesGcmEncryption(this CfgBuilder builder, string base64Key, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderbase64KeystringconfigureAction<EncryptionOptions>
Returns
AddAesGcmEncryptionFromEnv(CfgBuilder, string, Action<EncryptionOptions>?)
添加 AES-GCM 加密支持(从环境变量读取密钥)
public static CfgBuilder AddAesGcmEncryptionFromEnv(this CfgBuilder builder, string envVarName = "APQ_CFG_ENCRYPTION_KEY", Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderenvVarNamestringconfigureAction<EncryptionOptions>
Returns
AddChaCha20Encryption(CfgBuilder, string, Action<EncryptionOptions>?)
添加 ChaCha20-Poly1305 加密支持
public static CfgBuilder AddChaCha20Encryption(this CfgBuilder builder, string base64Key, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderbase64KeystringconfigureAction<EncryptionOptions>
Returns
AddEncryption(CfgBuilder, ICryptoProvider, Action<EncryptionOptions>?)
添加加密支持
public static CfgBuilder AddEncryption(this CfgBuilder builder, ICryptoProvider provider, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilder配置构建器
providerICryptoProvider加密提供者
configureAction<EncryptionOptions>加密选项配置委托
Returns
- CfgBuilder
配置构建器实例,支持链式调用
Examples
var cfg = new CfgBuilder()
.AddJsonFile("config.json", level: 0)
.AddEncryption(new AesGcmCryptoProvider(key), options =>
{
options.EncryptedPrefix = "[ENCRYPTED]";
})
.Build();
AddRsaEncryption(CfgBuilder, string, Action<EncryptionOptions>?)
添加 RSA 加密支持(从 PEM 文件)
public static CfgBuilder AddRsaEncryption(this CfgBuilder builder, string pemFilePath, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderpemFilePathstringconfigureAction<EncryptionOptions>
Returns
AddRsaEncryptionFromPem(CfgBuilder, string, Action<EncryptionOptions>?)
添加 RSA 加密支持(从 PEM 字符串)
public static CfgBuilder AddRsaEncryptionFromPem(this CfgBuilder builder, string pem, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderpemstringconfigureAction<EncryptionOptions>
Returns
AddSensitiveMasking(CfgBuilder, Action<MaskingOptions>?)
添加敏感值脱敏
public static CfgBuilder AddSensitiveMasking(this CfgBuilder builder, Action<MaskingOptions>? configure = null)
Parameters
builderCfgBuilder配置构建器
configureAction<MaskingOptions>脱敏选项配置委托
Returns
- CfgBuilder
配置构建器实例,支持链式调用
Examples
var cfg = new CfgBuilder()
.AddJsonFile("config.json", level: 0)
.AddSensitiveMasking(options =>
{
options.MaskString = "****";
options.VisibleChars = 2;
})
.Build();
AddSm4Encryption(CfgBuilder, string, Sm4Mode, Action<EncryptionOptions>?)
添加 SM4 国密加密支持
public static CfgBuilder AddSm4Encryption(this CfgBuilder builder, string base64Key, Sm4Mode mode = Sm4Mode.CBC, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderbase64KeystringmodeSm4ModeconfigureAction<EncryptionOptions>
Returns
AddTripleDesEncryption(CfgBuilder, string, Action<EncryptionOptions>?)
添加 Triple DES 加密支持(仅用于遗留系统兼容)
[Obsolete("Triple DES is considered weak. Use AES-GCM for new projects.")]
public static CfgBuilder AddTripleDesEncryption(this CfgBuilder builder, string base64Key, Action<EncryptionOptions>? configure = null)
Parameters
builderCfgBuilderbase64KeystringconfigureAction<EncryptionOptions>