我维护WCF服务。由于已经决定将服务的版本放在公共服务器中,以进行演示/测试,因此需要增加有关谁可以访问功能的安全性。因此,我考虑为客户端必须提供的每个功能添加一个密钥,以验证其访问权限。
但是,由于该软件是经过许可的软件(在一段时间内),并且在购买时已本地安装在客户的服务器上,所以我认为一个不错的解决方案是将有效期嵌入密钥中,因此我不必放一些许可证文件或其他东西。
我正在考虑,给定一个特定的日期(失效日期),我可以生成一个短字符串(例如8个字符,字母和数字),该字符串对用户来说是随机的,并且他不能更改为有效的字符串但是我可以解码并获得生成它的日期。
我曾考虑过加密一个简单的日期,但是我知道的算法会产生超级用户不友好的结果。
我感谢任何建议,非常感谢!
答案 0 :(得分:0)
您可以尝试将日期更改为一个数字,例如自2017年7月4日以来的天数或某个半随机的开始日期。如果太透明了,请使用某种类型的format preserving encryption使用标准密钥将天数加密为相同位数。