我有一个Windows Form应用程序,我想尝试出售。
为了正常工作,应用程序需要从在线API服务X生成的ApiKey和ApiSecret。
我认为的想法是:
想要购买该应用程序的人,请在我的网站上注册,然后在其中插入其个人详细信息,包括仅以前从服务X生成的ApiKey。
我收到他们的数据并付款后,便创建了该软件的个人版本,该软件的内置App.config内置了ApiKey,并将其编译后的版本(.exe)发送给他们。
一旦收到程序,他们将插入ApiSecret并使用它,ApiSecret将保存在App.Config中,并且只有当两者匹配时,用户才能访问服务API。
这种推理对这种应用程序有好处吗?
我还希望ApiKey保持完整性:我不希望拥有该程序版本的用户能够更改ApiKey并将其传递给尚未付费的其他人。
(我应该使用加密吗?如果可以,如何?),
我认为ApiSecret一旦由用户保存,也应该进行加密,以避免有人找到该程序的版本来访问未经授权购买应用程序的用户的服务。
我如何保证此属性?而且,我正在解决所有这些问题,因为我已经读到可以从.exe文件访问App.Config的某些部分,这真的有可能吗?
该应用程序还具有一个数据库,我也应该在App.config中加密连接字符串吗?