首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows vb.net c#中存储敏感数据的建议

在Windows vb.net c#中存储敏感数据的建议
EN

Stack Overflow用户
提问于 2016-05-30 11:33:34
回答 1查看 991关注 0票数 2

我目前正在开发一个Windows应用程序项目,在保护数据安全方面有两个问题。

First,我需要创建一个文件,该文件将密码存储为字符串,用户每次加载主表单时都应该输入该字符串,我尝试了许多方法,但每种方法都有问题:

  1. 散列字符串并将其保存在文件中,因此每次用户输入密码时,输入密码都将被散列并与散列字符串进行比较。 问题:反编译应用程序可以让任何人看到散列方法和文件位置,这样他/她就可以创建包含任意字符串(如0000 )的散列值的文本文件,并用我的应用程序文件替换该文件,然后使用0000打开应用程序。
  2. 使用自定义加密密钥的加密算法 Problem:解压缩应用程序后可以访问密钥

的另一个问题是应用程序中使用的联机MySql数据库的连接字符串,但我不希望任何用户看到连接字符串:

  1. 用DataProtectionConfigurationProvider加密连接字符串 Problem:其他机器无法解密和使用字符串
  2. 加密并保存文件中的连接字符串,并在应用程序加载时解密和使用该文件。 问题:解密方法可以从反编译后的源代码中得知

除了混淆源代码之外,还有什么可以使用的吗?我的意思是说,就像一样,将这些敏感数据存储在一个只能由我的应用程序读写的文件中。

请事先给我写一些关于我的问题的建议和感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-30 14:49:19

尝试使用带有只读权限的散列密码保存您的文件。或者使用用非管理代码(c++)编写的dll。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37524656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档