C#:从加密文件创建SecureString读取

时间:2017-11-05 19:46:09

标签: c# encryption securestring

我是QA自动化分析师,在我的一项测试中,我需要验证触发的电子邮件是否已发送到客户的电子邮件中。使用交换服务我可以连接到为测试创建的邮箱,并验证那里有未读的电子邮件,并根据信息做我需要的任何事情。

问题出现是因为我需要登录到Exchange Server,因此需要服务帐户凭据,我不想公开密码。我试图提出的解决方案是使用密码加密文件并使我的代码解密文件并用它创建SecureString然后再次加密...问题是,在调试代码时,密码仍会暴露。

代码模板下面::

private static SecureString getServiceAccountPassword()
{
        string folderPath = DataEnum.SA_PASSWORD_FILE;
        Encryption.Decrypt(folderPath);
        SecureString pasw = new SecureString();

        foreach (char c in File.OpenText(folderPath).ReadToEnd().ToCharArray())
        {
            pasw.AppendChar(c);
        }

        Encryption.Encrypt(folderPath);
        return pasw;
}

所以我的问题是:有没有办法以不同的方式创建SecureString而不泄露密码?或者我使用了错误的方法?任何输入都会有帮助......

最好的问候。

1 个答案:

答案 0 :(得分:0)

这是我的清单: