当前位置:  开发笔记 > 程序员 > 正文

保存SecureString

如何解决《保存SecureString》经验,为你挑选了1个好方法。

我正在处理的程序的一个功能请求是能够保存用户输入的凭据列表,以便可以共享它们.启发此请求的特定用例是在大型企业网络上使用我们的程序,该网络由相当好的LAN组成,这些LAN通过片状WAN连接.我们的想法是,不是让我们的程序在WAN关闭时击败WAN,而是发送一个包含严密保护的管理员凭据的"配置"文件,在每个局域网中运行并压缩结果并通过电子邮件发送给它背部.

是啊.

我最初的本能是嘲笑这个请求 - 保存密码?真?当然,公司的网络部门更愿意尝试销售他们拥有的任何广域网产品 - 但事实证明我使用凭证的其中一个类可以采用SecureString,而且,总是很好的关注你可以节省一些人的努力.这让我想知道:

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

您有什么想法,Stack Overflow?



1> nedruod..:

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

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

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

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有