首页 > 解决方案 > 如何在 MySQL 中安全地存储序列密钥并与 C# 应用程序交换它们?

问题描述

我编写了一个 C# 应用程序,我想把它交给一些人来测试它。因此,我想用序列号保护我的应用程序。我不知道我的应用程序是否会盈利,所以我不想花 500 美元购买现成的解决方案。由于 .NET C# 应用程序很容易反汇编,甚至使其成为可读的代码,我不想要内置的密钥生成器。我希望我的应用程序与 MySQL 通信,例如,用户在欢迎窗口中输入序列号,应用程序与执行查询的数据库通信,如下所示

“FROM serials SELECT serial WHERE serial = 'user_input'”,然后查看数据库是否有任何结果。但是,我不能限制用户只做这个查询,所以如果有人从代码中获取登录名和密码,他可以知道我数据库中的所有序列。

我知道我可以在服务器上运行一个额外的中间应用程序,它只会连接到 localhost MySQL 并向应用程序返回 YES 或 NO 响应,而不是将 MySQL 凭据存储在用户应用程序中,但是它也非常昂贵,并且需要很多工作。

我该如何解决这个问题?是否有可能只有应用程序和 MySQL 数据库来存储密钥并检查它们的正确性?

标签: c#mysql

解决方案


推荐阅读