Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将字符串保存在没有用户访问权限的安全存储中_C#_Encryption_Store - Fatal编程技术网

C# 将字符串保存在没有用户访问权限的安全存储中

C# 将字符串保存在没有用户访问权限的安全存储中,c#,encryption,store,C#,Encryption,Store,我想将一个普通的文本字符串保存到一个安全存储中,在这个存储中,没有用户可以访问,因此无法更改字符串的任何文本 是否有可能将字符串保存在一种安全存储中,或者加密该字符串,该字符串目前正在Windows下使用CSP容器使用RSA/AES。但我不想将加密字符串保存到文件中,因为用户不应该能够更改字符串 没有internet或网络连接。因此,在服务器上保存不是一个选项。我需要在本地保存它 是否有可能在Windows下安全地存储字符串?答案是否定的。任何可以物理访问计算机的用户都可以更改硬盘。例如,他可以

我想将一个普通的文本字符串保存到一个安全存储中,在这个存储中,没有用户可以访问,因此无法更改字符串的任何文本

是否有可能将字符串保存在一种安全存储中,或者加密该字符串,该字符串目前正在Windows下使用CSP容器使用RSA/AES。但我不想将加密字符串保存到文件中,因为用户不应该能够更改字符串

没有internet或网络连接。因此,在服务器上保存不是一个选项。我需要在本地保存它


是否有可能在Windows下安全地存储字符串?

答案是否定的。任何可以物理访问计算机的用户都可以更改硬盘。例如,他可以在硬盘控制器和操作系统之间安装一个代理,而你永远不会注意到

更简单的是:如果用户拥有对机器的管理员访问权限,他可以更改系统上的每个文件,而无需执行任何硬件技巧


此外,您还应该澄清用户是不能读取还是不能更改字符串。另外:如果您的应用程序在用户的访问权限下运行。。。是否能够读取字符串?

用户或您的进程是否需要再次读取该值?如果是这样的话,对您的问题的技术回答显然是否定的——根据定义,您的应用程序可以做什么,用户可以做什么,其余的都只是混淆。如果您的进程再也无法读回该值,那么这是可行的,但只需将其交给另一个更具特权的进程即可。如果您想做的只是防止原始篡改,那么加密签名是一种选择,但用户仍然可以获得密钥。是否有可能安全地存储字符串?问题太广泛了。。。但答案是否定的。。。具有管理员权限和足够编程技能的用户将找到解决方法