2

在与数据库系统配对编程时,有时我们最终会临时硬编码凭据(通常是我们自己的帐户),这会导致合作伙伴在屏幕上出现密码时试图将视线移开,这会导致轻微的尴尬。是否有任何简单的方法可以使用基本混淆(rot13)对密码进行硬编码,而无需其他开发人员快速查看并查看我的密码?

它不需要是安全的。它只需要润滑社会方面。我不想要任何涉及超级安全加密或从文件中读取密码等复杂的事情。这必须在动态编码时快速实施(即最多 10 秒)。理想情况下,我想要类似的东西:

string password = string.rot13("zlcnffjbeq");

类似的东西已经存在了吗?

4

4 回答 4

1

我建议将您的密码存储在配置文件中。对于源代码控制,请使用虚拟的。然后在您的 PC 上获取最新版本的配置文件后,您可以通过添加密码来修改配置。

于 2013-03-13T14:08:42.930 回答
1

为 Windows 集成安全性配置 SQL Server

  1. 从 Windows 开始菜单中,选择 Microsoft SQL Server,然后选择企业管理器。

  2. 打开服务器节点并展开您要授予用户权限的数据库的节点。

  3. 右键单击用户节点并选择新建数据库用户。

  4. 在“数据库用户属性”对话框中,在“登录名”框中输入域\用户名,然后单击“确定”。此外,配置 SQL Server 以允许所有域用户访问数据库。

来自MSDN。连接字符串变为Server=x;Initial Catalog=y;Integrated Security=true而不是Server=x;Initial Catalog=y;User=you;Pwd=yourpassword.

于 2013-03-13T14:10:03.947 回答
0

也许您可以将密码存储在像这里这样的字符串变量中

/* Variable that stores the password */                                             string pwd = "12345";

string password = string.rot13(pwd);

并将其移出编辑器的可视范围。这将是您问题的正确解决方案。

然后您可以在代码中的其他地方使用字符串变量,除非他向右滚动,否则没有人可以看到您的密码

于 2013-03-13T14:44:12.553 回答
0

您可以使用base64并将您的密码的 base64 版本保存在方便剪切和粘贴的地方,请记住,如果您的系统管理员发现这一点,他们将有一个蓝色的配合。imo 中的两个建议(@Oli/@CodeCaster)都比这个更可取。

DPAPI的工作量更大,但可以说是满足您要求的平衡解决方案,具有一定的安全性。

.NET Framework 提供对数据保护 API (DPAPI) 的访问,它允许您使用来自当前用户帐户或计算机的信息来加密数据。当您使用 DPAPI 时,您可以缓解显式生成和存储加密密钥的难题。

于 2013-03-13T14:07:19.063 回答