Inno Setup中的动态密码

时间:2017-05-11 12:22:06

标签: inno-setup

我需要使用包含当前日期的动态密码保护我的程序。

我只需要一个月或一天或一小时或一分钟。

我尝试使用此代码将日期包含在密码中:

[Setup]
Password=Password!{code:DateTime|0}

[Code]
function DateTime (Param: string): string;
begin
    Result := GetDateTimeString('dd', #0, #0);
end;

但它不起作用。

的问候。

1 个答案:

答案 0 :(得分:0)

Password directive不能包含任何constants,只允许scripted constants

因此,您的脚本会使密码成为Password!{code:DateTime|0}

相反,请使用CheckPassword event function

[Code]

function CheckPassword(Password: String): Boolean;
begin
  Result := (Password = ('Password!' + GetDateTimeString('dd', #0, #0)));
end;

虽然比文字字符串(可以在.exe二进制文件中看到)更安全,但比较校验和。

请参阅How to do a dynamic password in Inno Setup?