c# - 如何加密 app.config(没有解密方法)

标签 c# .net sql iis app-config

我想加密位于 app.config 中的“ConnectionString”设置。 但是在运行时,我想直接使用(读取ConnectionString),而不解密它。

我的意思是,我不想让任何人解密字符串。应该没有解密方法。 我在想;它应该像嵌入 .net/asp.net/iis 功能一样使用。 比如“Windows登录”(可以输入,使用,但不能解密)

===

示例用法;您有一个包含一些关键数据的小型网站。 你没钱买私服, 所以你在共享服务器上工作,如果服务器以某种方式被黑客入侵, 您的应用程序和数据库将被盗。 但是如果你把加密的connectionstring放在app.config中, 这将很难解密它并查看数据库中的内容。

最佳答案

可以使用 aspnet_regiis.exe 工具从命令行对配置文件中的配置设置进行加密和解密。

详细信息在以下 MSDN 文章中进行了描述:

Encrypting and Decrypting Configuration Sections

由于该工具主要用于 Web 应用程序,因此它需要将配置文件命名为“web.config”。这意味着您暂时必须将 app.config 文件重命名为 web.config:

rename App.config web.config
aspnet_regiis -pef connectionStrings . -prov DataProtectionConfigurationProvider
rename web.config App.config

关于c# - 如何加密 app.config(没有解密方法),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14194814/

相关文章:

c# - 排序数组

sql - 根据 3 个标准获取不同的值

c# - 系统.FormatException : Input string was not in a correct format

c# - 使用 C# 从 SQL 显示和保存 "time"数据类型?

c# - 为什么使用 ImmutableList 而不是 ReadOnlyCollection?

.net - 可移植类库与特定于平台的版本

mysql - 如何从 MySQL 列中缺失的 orderred 值中获取最小值?

php - MySQL 匹配字符串的所有出现位置

c# - 带单引号的 SQL 查询

c# - CoWaitForMultipleHandles API 的行为与记录不符