【问题标题】:Encrypted Database Connection Strings加密的数据库连接字符串
【发布时间】:2017-11-14 14:52:51
【问题描述】:

我正在使用 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 应用程序)

提前谢谢你

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      相关资源
      最近更新 更多