Delphi 需要对一年后过期的密码进行编程

Delphi 需要对一年后过期的密码进行编程,delphi,delphi-7,Delphi,Delphi 7,我的程序有密码保护。当前密码在程序打开时生成。在发电期间,它乘以当年。因此,当我将程序连同我的程序为他们设置的密码(只有我知道,因为我知道它是如何生成的)一起交给某人时,密码会在那年年底更改。这允许我在年底收取许可费 我的问题是基于这样一个事实,如果我在一年中的9月份出售我的程序,那么他们当时编码的密码将只持续到那年年底。从逻辑上讲,我无法仅在初始设置三个月后收取许可费 我的问题是,是否有任何方法可以使用Delphi7生成一个密码,该密码将在初始设置后整整一年过期 你可以给用户一个“许可证文件”

我的程序有密码保护。当前密码在程序打开时生成。在发电期间,它乘以当年。因此,当我将程序连同我的程序为他们设置的密码(只有我知道,因为我知道它是如何生成的)一起交给某人时,密码会在那年年底更改。这允许我在年底收取许可费

我的问题是基于这样一个事实,如果我在一年中的9月份出售我的程序,那么他们当时编码的密码将只持续到那年年底。从逻辑上讲,我无法仅在初始设置三个月后收取许可费

我的问题是,是否有任何方法可以使用Delphi7生成一个密码,该密码将在初始设置后整整一年过期

你可以给用户一个“许可证文件”,其中包含一些关于许可证的数据——当许可证到期时,用户的姓名等;以及一个证书,证明许可证文件是由您生成的(或者至少是用您的私钥签名的)

然后,程序使用公钥验证签名,如果签名有效,则将文件的其余部分作为密钥


我确信有Delphi 7库可以进行PKI,尽管我不知道有任何现成的库。

将您提供给它们的密钥分成两部分,使用/12表示密钥,使用%12表示密钥发布月份。从当前日期减去以月为单位的模数部分以抵消月份,然后应用现有公式。因此,与
pwd=key*now.year()
不同的是:

pwd = int(key /12) * date(now - months(key % 12)).year()
试试Turbopower OnGuard


它是免费的,允许您创建在特定日期后过期的程序版本。

尝试在云中保存安装日期,然后每次应用打开时,检查该日期和云的当前日期,链接到云中的数据和应用。您必须在许可证中输入过期日期。