【发布时间】:2012-01-24 04:43:05
【问题描述】:
我们正在构建一个 C# 4.0 windows 应用程序。我需要实现一个功能,其中应用程序的许可证密钥必须每周到期,以便用户可以向团队索要新的许可证密钥。
只需一个简单的逻辑即可,我不介意黑客攻击,因为此应用程序仅供组织内部使用。
您能否通过示例建议如何在 C# 中实现这一点?
【问题讨论】:
-
你在保护谁?普通用户、懂 regedit 的人、程序员……
我们正在构建一个 C# 4.0 windows 应用程序。我需要实现一个功能,其中应用程序的许可证密钥必须每周到期,以便用户可以向团队索要新的许可证密钥。
只需一个简单的逻辑即可,我不介意黑客攻击,因为此应用程序仅供组织内部使用。
您能否通过示例建议如何在 C# 中实现这一点?
【问题讨论】:
我会使用加盐哈希
您获取特定于他们的信息,例如他们的客户 ID 和其他识别信息。您将其放入一个字符串中,添加您自己的密钥作为盐,然后对值进行哈希处理(MD5?Sha1?随便选...)
哈希值是他们的键。
如果他们拥有特定于服务器的许可证,请考虑将 mac 地址添加到预哈希字符串中,这样他们就无法将许可证复制到多个服务器。
由于涉及许可期限,请考虑将创建日期添加到预哈希字符串中。
要考虑的另一件事是为什么要让密钥每周到期?我的意思是,如果它是您组织内部的,您为什么还需要许可证?你们不是一个队的吗? (我的意思是,所有人都朝着同一个共同目标努力——改善您的企业。)
【讨论】: