我正在寻找有关密码学的建议。
我正在开发一个.Net应用程序,我需要为它创建一个许可证,因此我计划创建一个加密的许可证文件,我的应用程序将使用该文件来了解它是否已获得许可。
处理许可证如下:
我的问题是:
作为一个非常概括的概述,最简单的方法是使用私钥对信息进行签名(实际上不需要真正加密任何内容),并使用相应的公钥验证签名。而已。私钥保持安全,没有它就不能生成有效的新签名,因此如果有人更改签名信息,则签名将变为无效。在它之上不需要额外的对称加密 - 就我而言,这是毫无意义的工作。
有很多库已经足够轻松地完成了这项工作,但手动操作并不难。 https://github.com/dnauck/Portable.Licensing是我以前用过的。
编辑:也是的,一般来说,反编译.net程序集非常容易,包括从中提取资源。