无法删除/不可见的.txt文件

3

目前我在C#中创建GUID密钥,将其放置在USB闪存驱动器上。我使用此密钥进行用户识别。密钥本身位于.txt文件中,该文件很容易被篡改。是否有方法使.txt文件不可删除和不可见但仍然可读?


1
无法删除和不可见,是由谁创建的?是新手还是经验丰富的黑客? - Thomas Ayoub
我认为几乎不可能使它对经验丰富的黑客不可删除和不可见。因此,普通用户不应该能够操纵它。 - L4c0573
2
“看不见但仍可读取”,你自己也注意到了矛盾吗? - Tim Schmelter
它应该对我的应用程序可读,而不是用户。 - L4c0573
当然,在一般情况下是这样的。但这是一个我正在研究的项目。如果该项目表明没有一种方式可以通过USB进行用户认证,以100%的安全性,那也没关系。那么该项目已经表明这是不可能的。但是如果我有一种方法可以展示如何完成并解释安全问题出在哪里,那就太好了。因此,如果没有更好的方法,我会使用“隐藏.txt文件”的方法。 - L4c0573
显示剩余6条评论
3个回答

5

编号。

想象一下如果这是可能的会发生什么事情。是啊。

将文件隐藏 - 可能是隐藏+系统文件。那是你能做的最好的了。如果用户无论如何都删除了它,那就是他的问题。你已经按合同规定“隐藏”了它,你不能对那些故意克服这些安全措施的用户的行为负责。


2
想象一下如果这是可能的会发生什么。宇宙会爆炸 :p - Sriram Sakthivel
1
如果你能够以编程的方式填充一个硬盘,而这些文件又不可见,那将会非常有趣。 - Marv

1
最好的办法可能是隐藏文件。你可以这样做。
string path = "";
File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);

是的,这就是我在阅读Luaans答案后搜索的内容。谢谢! - L4c0573

1
你可以通过设置文件权限来实现,包括拒绝 - 删除更改权限获取所有权,以及允许 - 读取权限

程序化地,你可以使用File.SetAccessControl来实现

基本上,程序化地所做的就是:

进入文件 > 属性 > 安全选项卡 > 高级 > 权限选项卡 > 更改权限 > 添加用户 > 设置权限。

文件属性

File Properties

高级权限

Permissions

添加用户

Users

设置权限

SetPermissions


请注意,ACL仅适用于NTFS,并且如果您在相同的用户下运行,则无法帮助您。 - Luaan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接