加密的数据库连接字符串

时间:2017-11-14 14:52:51

标签: c# oracle database-connection connection-string

我使用Oracle.ManagedDataAccess.Client连接到我的C#Windows应用程序中的oracle数据库(v.12)。

例如:

using Oracle.ManagedDataAccess.Client;

string connStr = "user id=username;password=secret;data source=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostname)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=servicename)))";
new OracleConnection(connStr);

你可以看到它是纯文本。 你能否建议如何做到这一点,防止代码中出现密码?

我正在使用.Net Framework 4.5.1(Windows应用程序)

提前谢谢

1 个答案:

答案 0 :(得分:0)

防止在客户端应用程序代码中存储数据库凭据的最佳方法是在对应用程序中的用户进行身份验证(使用OpenId Connect或其他协议)后,通过某些API从数据库获取数据。

在这种情况下,API负责与数据库进行通信 - 而不是客户端,因此无需在客户端上存储凭据。

这种方法与您要求的方法略有不同,但我认为这是最佳解决方案。