8

我发现和阅读的大多数关于在数据库中正确存储密码的信息都说我应该为每个用户使用唯一的盐值对密码明文进行哈希处理,然后将该哈希存储在数据库中。但是这个过程不适合我的需要......

我有一个用 C# 编写的 Windows 服务,它需要使用特定的服务帐户连接到不同数据中心中的其他远程机器。这些服务帐户类似于域用户帐户,但它们背后没有真实的人,它们只是具有在每个特定服务器上执行服务负载的适当权限。服务帐户信息存储在 SQL Server 表中,包括每个帐户的密码。目前,我正在使用对称加密 (Rijndael) 来混淆数据库表中的密码。密钥保存在具有严格访问权限的单独配置文件中。

每次服务有一个计划的有效负载要在远程机器上运行时,我都会在表上查找相应的服务帐户信息并使用密钥对其进行描述。还有一个内部网站,基本上是管理此服务各种设置的前端,管理员可以在其中查看和更改服务帐户的密码。

这是保证事情安全的好方法吗?这个方案有什么明显的缺陷吗?

4

1 回答 1

2

对我来说听起来很理智。

于 2010-08-07T22:22:28.627 回答