gpt4 book ai didi

.net - 保存安全字符串

转载 作者:行者123 更新时间:2023-12-04 10:02:41 25 4
gpt4 key购买 nike

我对正在开发的程序提出的功能要求之一是能够保存用户输入的凭据列表,以便可以共享它们。激发这个请求的具体用例是在一个大型企业网络上使用我们的程序,该网络由相当好的 LAN 组成,通过一个不稳定的 WAN 连接。我们的想法是,与其让我们的程序在 WAN 宕机时与它对抗,不如发送一个包含严密保护的管理员凭据的“配置”文件,在每个 LAN 中运行它并将结果压缩并通过电子邮件发送背部。

是的。

我最初的直觉是对这个要求嗤之以鼻——保存密码?真的吗?当然,公司的网络部门更希望你尝试销售他们拥有的任何 WAN 产品——但事实证明,我使用凭证的其中一个类可以使用 SecureString,而且,注意总是很好可以为人们节省一些精力的方法。这让我想知道:

是否可以保存加密的 SecureString,以便我可以将敏感数据保存到文件并在其他地方打开它?

你有什么想法,堆栈溢出?

最佳答案

SecureString 中没有保存支持,它旨在作为一种保护内存中托管字符串的机制,并且仅用于与非托管 API 交互。如果密码存储在 System.String 实例中,由于 System.String 的性质,安全性会降低。垃圾收集和实习的存在将使密码在内存中的时间超过必要的时间。此外,由于 .NET 有大量出色的调试工具,即使没有更长的生命周期,通过反射或其他 .NET API 访问字符串也会变得更加容易。

如果您要在磁盘上保存密码,那么您的安全性就会受到很大影响。如果有人可以物理访问机器,或管理员级别的远程访问,那么您能做的最好的事情就是让它变得更加困难,但绝不是不可能的。使用加密 API,将其存储在安全位置,配置访问权限。

除此之外,Merus,我建议您尝试改进整个系统,因为对于您所描述的用例(假设我理解它),您最好存储哈希而不是实际密码。

关于.net - 保存安全字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/147726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com