使用前解密 AES connectionString.config 数据
本文关键字:connectionString config 数据 AES 解密 | 更新日期: 2023-09-27 18:32:46
我将连接字符串、用户名、密码存储在 connectionString.config 文件中。有没有办法解密所有这些值,然后在值未加密的情况下像往常一样连接?
欢迎所有建议,因为我不确定从这里开始,因为我没有发现Microsoft文档非常有用。
connectionString.config
<connectionStrings>
<add name="as400"
connectionString="DataSource=AgIrRzkARUJsQBUYXKCPpH8MdqtQ5Sd+lt4kyBEZBY=; userid=tRGgY7PERBTg2WPPzVerIlMP93kmQbTSuKsJKyDHFU=; password=kMxEGU75lJ1VD5OaaujnLzleR/7ZQDco3kddfwTOvI=;"/>
</connectionStrings>
应用配置
版<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<appSettings file="AppSettings.config"/>
<connectionStrings configSource="connectionStrings.config"/>
</configuration>
应用程序代码
//Open connection to the iSeries
iDB2Connection cn = new iDB2Connection();
cn.ConnectionString = ConfigurationManager.ConnectionStrings[database].ConnectionString;
为了建立SQL连接,你需要首先解密连接字符串,下面的代码将引导你朝着正确的方向前进。
DataSet dsConnection = new DataSet();
dsConnection.ReadXml(System.Web.Hosting.HostingEnvironment.MapPath("~/ConnectionString.Config.xml"));
String connection = dsConnection.Tables[0].Rows[0]["connectionstring"].ToString();
SqlConnectionStringBuilder DBConfig = new SqlConnectionStringBuilder(connection);
string ConnectionString = "Data Source=" + Decrypt(DBConfig.DataSource) + ";Initial Catalog=" + Decrypt(DBConfig.InitialCatalog) + ";User ID=" + Decrypt(DBConfig.UserID) + ";Password=" + Decrypt(DBConfig.Password);
iDB2Connection cn = new iDB2Connection();
cn.ConnectionString = ConnectionString;
首先,您需要为AES加密创建解密函数,然后可以像上面的代码一样调用该函数。
谢谢
塞尔瓦库马尔·