我有MS C#和MS 2008数据库项目。它可以用1000多张记录的图片捕捉员工的记录。
目前,我可以使用我安装的PC1应用程序在C#上捕获150个记录,将记录保存为XML或CSV文件格式。我的朋友能够在恢复或上传包含在该XML或CSV中的信息后继续注册或输入(即151到1000),使用安装在他们的笔记本电脑上的另一个位置的C#应用程序副本。
除了我的C#应用程序读取或写入该备份文件外,如何对查看其内容的用户加密或隐藏该文件的内容?
发布于 2015-05-14 18:53:11
要回答你的第一个问题,这很简单,加密文件。使用在您使用的应用程序和您的朋友使用的应用程序之间共享的对称密钥。只有有钥匙的人才能读取数据。钥匙存放在哪里取决于你有多偏执。
最简单的方法就是将密钥硬编码到应用程序中。但是,如果你担心黑客会访问它,那就远远不够安全了。
为了回答你的第二个问题,根据我对你问题的理解,你要储存的东西有两个部分:图片和数据。您应该以二进制格式存储的图片,可能是PNG格式的最佳选择。我会以JSON格式存储的数据。您需要某种方式将这两组数据捆绑在一起,并将整个数据集打包到一个容器中。加上对JSON的一些压缩。
这样就可以为一个ZIP文件尖叫,并且方便地,你也可以加密ZIP文件。
因此,我会创建两个文件,名称相同,但每个记录的扩展名不同(例如Record1.json和Record1.png),并使用SharpZipLib或https://github.com/icsharpcode/SharpZipLib/wiki/Zip-Samples将它们都放入加密的ZIP文件中。
您并没有真正说明我们在这里讨论的记录有多少,如果有数千条记录,您可能希望使用搜索树来创建一个目录结构,用于记录索引。因此,例如,如果您按姓氏搜索记录,您可以使用第一个或两个姓氏作为第一个文件夹名,以加快访问速度并减少迭代所有记录的时间。
https://softwareengineering.stackexchange.com/questions/246747
复制相似问题