C# 解密DPAPI保护的数据以与DirectoryEntry一起使用-数据易受攻击吗?

C# 解密DPAPI保护的数据以与DirectoryEntry一起使用-数据易受攻击吗?,c#,security,encryption,dpapi,C#,Security,Encryption,Dpapi,我通过DirectoryEntry类通过LDAP查询域控制器,我需要在运行应用程序的机器上存储此查询的用户名和密码。将这些存储在字符串中是不可行的,因为这是一个很大的安全风险 我决定使用DPAPI,但是我对C#中的数据加密/解密有点陌生。解密后,这些数据必须临时存储在字符串变量中,然后用作DirectoryEntry构造函数的参数,至少根据我的理解是这样的。如果我错了,请纠正我 此用户名和密码在与LDAP查询方法一起使用时解密后,是否容易受到攻击?特别是创建新的DirectoryEntry对象

我通过DirectoryEntry类通过LDAP查询域控制器,我需要在运行应用程序的机器上存储此查询的用户名和密码。将这些存储在字符串中是不可行的,因为这是一个很大的安全风险

我决定使用DPAPI,但是我对C#中的数据加密/解密有点陌生。解密后,这些数据必须临时存储在字符串变量中,然后用作DirectoryEntry构造函数的参数,至少根据我的理解是这样的。如果我错了,请纠正我

此用户名和密码在与LDAP查询方法一起使用时解密后,是否容易受到攻击?特别是创建新的DirectoryEntry对象

我可以尝试通过让应用程序在每次进行查询时请求用户输入用户名和密码来避免这种情况,但是它们仍然必须存储在字符串中,以便与DirectoryEntry构造函数一起使用


如何结合DirectoryEntry构造函数重新使用用户名和密码,而不使这些数据易受攻击并在内存中可见?

查看SecureString类。我仍然需要迭代解密字符串的字符以将它们转换为SecureString,你是说这不会带来风险吗?我认为这是你能做的最好的方法。除非您可以使用证书身份验证。希望运行该应用程序的机器能够很好地锁定。