我正在创建一个简单的许可证密钥系统来“让诚实的人保持诚实”。我不关心特别严格的密码学。
如果他们对演示限制感到恼火,他们会去我的注册网站,付款,然后给我他们的电子邮件。我给他们一个许可证密钥。
我让事情变得非常简单,所以:
license_key = md5(email + "Salt_String");
我有 PHP 和 C# 函数运行相同的算法并获得相同的密钥。
问题是这些函数的输出是一个 32 个字符的字符串,例如:
A69761CF99316358D04771C5ECFCCDC5
这可能很难记住/输入。是的,我知道复制/粘贴,但我想让所有付费客户真正轻松地解锁软件。
我应该以某种方式将这个长字符串转换成更短的字符串吗?
假设我只使用前 6 位数字,所以:A69761
显然,其中存在更多的密码冲突,但在实际使用中它是否重要?
还有其他想法可以使事物更具人类可读性/可输入性吗?