【发布时间】:2016-06-17 13:52:04
【问题描述】:
我只是想我会把这个想法推给更有经验的头脑。 我在 java 8 中制作了一个桌面应用程序。它是一个小众应用程序,将通过单个网站销售。市场是处于特定工作环境中的个人,他们不会“精通技术”,并且正在或追求 6 位数的薪水。我的客户,出版商/供应商预计每年的销售额可能(不要笑)50-100……所以它非常小众。该软件的零售价,由于体积小和小众设置,约为 100 美元。所以这只是一个宠物项目,可能有助于为年底的家庭假期提供资金。
目标客户将有足够高的薪水,不用担心支付软件的溢价(反正是减税),这将直接提高他们赚更多钱的能力,但他们也有无顾忌的名声,并且通常不会在意随便复制软件并将其提供给他们的同事。
该软件将无法连接到互联网,因此它是独立的、孤立的。 所以我需要一个简单的、对最终用户来说不繁重的复制保护方案,并且由于它的目标市场和数量少,不需要“防黑客”。
所以这就是我想出的:
- 供应商有一个“密码”生成器,它使用简单的算法,
卢恩公式的改编,即能数百万
唯一的 8 字符字符串,在可能的数百个池中 十亿。所以一个有效的密码是很难猜到的。软件
已下载、生成的密码通过电子邮件发送给客户。 - 软件检查“密码”的有效性,使用与校验和相关的 方案。如果有效,软件将被解锁,并在硬盘驱动器上的某个通用位置创建一个不可见文件,这表明软件安装是有效的。
- 一个不同的不可见文件被写入 软件,其中包含提供的原始密码。这是已使用的密码的存储空间,因此无效。
-
下次启动软件时,它会检查是否存在 验证标志文件——如果存在,则软件启动, 否则它会要求用户联系供应商以获取新密码。
- 每当用户需要输入新密码时,软件都会检查“无效密码”文件。如果用户输入原始密码,软件将无法启动,因为它已失效。但该文件也需要存在于父文件夹中,所以也不能删除。
这个想法是,如果临时用户自己复制软件,或者使用其父文件夹复制软件,即使他们有原始密码,该软件也不会在另一台机器上运行,但如果他们是合法的(需要在家工作的副本等)然后他们可以联系供应商以获取新的有效密码,然后该密码将在新副本上工作。
希望这是有道理的。 意见、建议?
【问题讨论】:
标签: validation passwords copy-protection