2011-12-20 45 views
2

我们正在构建C#4.0窗口应用程序。我需要实现一项功能,即应用程序的许可证密钥必须每周过期,以便用户可以向团队要求新的许可证密钥。Windows应用程序的许可证密钥生成

只是一个简单的逻辑会做,我不介意黑客攻击,因为这个应用程序是只在组织内使用。

请问您可以在C#中用一个例子来说明这是如何实现的吗?

+0

您是在保护谁?休闲用户,知道注册表的人,程序员,... – 2011-12-20 06:51:51

+0

http://stackoverflow.com/questions/4583630/serial-numbers-generation-without-user-data – meziantou 2011-12-20 07:33:05

回答

4

我会用盐腌哈希

你采取具体到他们的东西,比如他们的客户ID和其他身份信息。你把它放到一个字符串中,加入你自己的密钥作为盐,然后散列值(MD5?Sha1?拿你的选择...)

散列值是他们的关键。

如果他们有特定于服务器的许可证,请考虑将mac地址添加到预散列字符串中,以便它们不能将许可证复制到多个服务器。

由于涉及许可证持续时间,请考虑将创建的日期添加到预散列字符串。

要考虑的另一件事是为什么使钥匙每周过期?我的意思是,如果它是组织内部的,为什么你甚至需要许可?你们不是在同一个团队吗? (我的意思是,所有人都朝着同一个共同目标努力 - 改善您的企业。)

相关问题