软件评估许可 [英] Software evaluation licensing

查看:74
本文介绍了软件评估许可的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的公司希望开始分发我们开发的某些软件,并希望能够让人们在购买前试用该软件.我们还要确保不能将其复制并分发给客户的客户.

My company is looking to start distributing some software we developed and would like to be able to let people try the software out before buying. We'd also like to make sure it can't be copied and distributed to our customers' customers.

我们看到的一种模型是将许可证与MAC地址绑定在一起,因此该软件只能在一台机器上运行.

One model we've seen is tying a license to a MAC address so the software will only work on one machine.

我想知道的是,一种生成带有不同信息(如许可证到期日期,MAC地址和不同软件限制)的许可证密钥的好方法吗?

What I'm wondering is, what's a good way to generate a license key with different information embedded in it such as license expiration date, MAC address, and different software restrictions?

推荐答案

我建议您从密钥中获取所需的信息,并用md5对其进行哈希处理,然后仅获取前X个字符(其中X是您认为可以控制的密钥长度).

I'd suggest you take the pieces of information you want in the key, and hash it with md5, and then just take the first X characters (where X is a key length you think is manageable).

从密码学上讲,这还远未达到完美,但这是您要付出最小努力以阻止偶然攻击者的领域-任何更快的事情都会成为一个黑洞.

Cryptographically, it's far from perfect, but this is the sort of area where you want to put in the minimum amount of effort which will stop a casual attacker - anything more quickly becomes a black hole.

哦,我也要指出,您也希望以纯文本(或稍加混淆)的形式提供到期日期(以及您可能想自己读出的其他信息),作为密钥的一部分沿着这条路走-md5只是为了阻止最终用户更改其到期日期以扩展许可证.

Oh, I should also point out, you will want to provide the expiration date (and any other information you might want to read out yourself) in plain text (or slightly obfuscated) as part of the key as well if you go down this path - The md5 is just to stop the end user from changing he expiration date to extend the license.

最简单的事情就是这样的密钥文件...

The easiest thing would be a key file like this...

# License key for XYZZY
expiry-date=2009-01-01
other-info=blah
key=[md5 has of MAC address, expiry date, other-info]

这篇关于软件评估许可的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆