我已经编写了一个C#应用程序,我想将其提供给某些人进行测试。因此,我想用一个串行密钥来保护我的应用程序。我不知道我的应用程序是否会盈利,所以我不想花500美元购买现成的解决方案。由于.NET C#应用程序很容易分解,甚至使其成为可读代码,因此我不需要内置的密钥生成器。我希望我的应用程序与MySQL通信,例如,用户在欢迎窗口中输入序列号, 和应用程序与数据库通信,执行类似
的查询“ FROM序列SELECT序列WHERE序列='user_input'”, 然后查看数据库是否有任何结果。 但是,我不能限制用户仅执行此查询,因此,如果有人从代码中获取登录名和密码,他就可以知道数据库中的所有序列号。
我知道我可以在服务器上运行一个附加的中间应用程序,该应用程序将仅连接到本地主机MySQL并向该应用程序返回YES或NO响应,并且不将MySQL凭据存储在用户应用程序中,但是这也非常昂贵,并且需要很多工作。
如何解决此问题?是否可以只使用应用程序和MySQL数据库来存储密钥并检查其正确性?