繁体   English   中英

在 Windows 窗体应用程序 vb.net c# 中存储敏感数据的建议

[英]Advice in storing sensitive data in Windows Form Application vb.net c#

我目前正在处理 Windows 应用程序项目,但在保护数据方面存在两个问题。

首先,我需要制作一个将密码存储为字符串的文件,用户每次加载主表单时都应输入该密码,我尝试了很多方法,但每个方法都有问题:

  1. 哈希字符串并将其保存在文件中,因此每次用户输入密码时,输入的密码都会被哈希并与哈希字符串进行比较

    问题:反编译应用程序让任何人都可以看到散列方法和文件位置,因此他/她可以创建具有任何字符串散列值的文本文件,例如 0000 并将该文件替换为我的应用程序文件,然后使用 0000 打开应用程序

  2. 使用带有自定义加密密钥的加密算法

    问题:反编译应用程序后可以访问密钥


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

  1. 使用 DataProtectionConfigurationProvider 加密连接字符串

    问题:其他机器无法解密和使用字符串

  2. 加密并将连接字符串保存在文件中,并在应用程序加载时解密和使用该文件

    问题:反编译后从源码中可以知道解密方法

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

随时写下有关我的问题的任何建议,并提前致谢

尝试使用只读权限在网络中使用散列密码保存文件。 或者使用使用 unmaneged 代码编写的 dll (c++)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM