安全字符串-仍然值得吗?

问题描述 投票:1回答:1

使用安全字符串在应用程序内存储敏感数据是否有任何价值?

会有更好的替代方法,因为安全字符串建议已经过时了。

.net
1个回答
1
投票

从:https://github.com/dotnet/platform-compat/edit/master/docs/DE0001.md

DE0001:不应该使用SecureString

动机

  • SecureString的目的是避免在过程中存储秘密以纯文本形式存储。
  • 但是,即使在Windows上,SecureString作为OS概念也不存在。
    • 这只会使获取纯文本的窗口变短;它不完全阻止它,因为.NET仍然必须将字符串转换为纯文本表示形式。
    • 好处是纯文本表示形式不会散布作为SecureString的实例-本机缓冲区的生存期为较短。
  • 除了.NET Framework以外,数组的内容未加密。
    • 。NET Framework中,内部字符数组的内容已加密。.NET也不在所有环境中都支持加密由于缺少API或密钥管理问题。

推荐

请勿将SecureString用于新代码。将代码移植到.NET Core时,请考虑数组的内容未在内存中加密。

处理凭证的一般方法是避免使用凭证,而是依靠其他方式进行身份验证,例如证书或Windows身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.