在C#中加密xml标记值。网[英] Encrypting xml tag values in C#.net

本文是小编为大家收集整理的关于在C#中加密xml标记值。网的处理方法,想解了在C#中加密xml标记值。网的问题怎么解决?在C#中加密xml标记值。网问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个 xml 文件,用于存储登录信息(用户 ID 和密码)
我想加密 XML 中存在的密码值
另外,我想让这个 XML 文件只能由管理员编辑

请帮帮我!!!

解决方案
存储密码的整个想法是错误的.密码(我的意思是,以原始形式,密码用户如何创建它们)永远不会存储在任何地方.如果您考虑一下,您将了解身份验证永远不需要它.听起来怪怪的?然后继续阅读.

安全处理密码的最典型方法之一是使用加密散列函数,该函数具有其重要属性之一:它的反转是不可行.更多详情请见:
http://en.wikipedia.org/wiki/Cryptographic_hash_function[^].

当用户创建密码时,会存储其哈希函数.所以,无论有什么权限,都没有人可以恢复原来的密码.在身份验证期间,将哈希(通过使用用户输入调用相同的函数获得)与存储的哈希进行比较.很简单,不是吗?

我建议使用 SHA-2 系列中的功能之一:
http://en.wikipedia.org/wiki/SHA-2[^].

重要的是不要出于任何安全目的使用 MD5 或 SHA-1:这些功能被发现已损坏,因此使用它们是不安全的.请看:
http://en.wikipedia.org/wiki/MD5[^],
http://en.wikipedia.org/wiki/Sha1[^].

使用 .NET,您已经为您实现了加密哈希函数:
http://msdn.microsoft.com/en-us/library/system.security.cryptography.hashalgorithm.aspx[^].

至于问题的第二部分:是的,带有身份验证数据的文件应该被限制访问.Windows 提供了基于用户的访问控制(通过 ACL),那么有什么问题呢?请从这里开始:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa374872%28v=vs.85%29.aspx[^].

有关访问控制的更多详细信息取决于您的设置:谁被定义为管理员、她/他如何获得管理员权限、您的应用程序类型是什么等.我没有这些信息可以为您提供更具体的建议,但是您可以阅读有关访问控制的信息并将其应用于您的安全架构.如果您遇到一些问题,请提出更具体的问题并提供解决问题所需的相关信息.

祝你好运,
—SA

本文地址:https://www.itbaoku.cn/post/1355816.html

相关标签/搜索