知识大全 Delphi程序的时限和加密方法

Posted 密码

篇首语:今日长缨在手,何时缚住苍龙。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Delphi程序的时限和加密方法相关的知识,希望对你有一定的参考价值。

Delphi程序的时限和加密方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  本例中TRegistry是关键类 Delphi 不能自行加入 需在uses部分手工加入 registry 通过其方法 ReadString 和 WriteString 来读出和写入字符 亦可通过其方法 ReadDate 和 WriteDate 来读出和写入日期

  程序第一次运行就写入其运行时间 应用期限为 天 超过 天就不再运行 全局变量NoRegistry SpareDays来分别判断是否注册和剩余期限 自定义函数Encrypt为用户名到

  密码的变换函数

  一 程序启动时 通过搜索注册表 判断是否第一次运行和是否注册 来确定程序是否运行

  procedure TForm FormCreate(Sender: TObject);  var   Reg:Tregistry;  KeyName TempCode TempName TempStr:string;   Same:Integer;   FirstDate NowDate:Tdatetime;   NumberOfDays:real;  begin   NoRegistry:=true;  NowDate:=date; //取得运行时系统日期  try  //创建注册表 有该键则读取 无则创建   Reg:=Tregistry Create ;   Reg RootKey :=ey_local_machine;   KeyName:= Sofarejsjbxample ;   if Reg OpenKey(KeyName true) then   begin   TempName:=Reg ReadString( UsrName );   TempCode:=Reg ReadString( Passwd );  //读取用户名 注册号   try   FirstDate:=Reg ReadDate( Date );  //非第一次则读入第一次运行时间   except   Reg WriteDate( Date NowDate);  // 若为第一次运行 则写入系统日期   FirstDate:=NowDate;   end;   end ;   reg CloseKey ;   finally   reg Free ;   end;   TempStr:=Encrypt(TempName);  //通过自定义函数Encrypt()来获取密码   Same:=CompareText(TempStr TempCode);  //比较密码   if TempName<> then   if Same= then   NoRegistry:=false;  //验证密码 通过NoRegistry为false   if NoRegistry then   begin //若未注册   NumberOfDays:=Nowdate FirstDate;  SpareDays:=round( NumberOfDays);  Label Caption :=FloatToStr(SpareDays);  if((NumberOfDays> ) or (NumberOfDays< )) then  begin  showmessage( 程序未注册超过试用期或更改系统时间 将终止运行! );  application Terminate;//超过 天 则禁止运行  end;  end;  end;

  二 注册过程 其响应入口可放于 About 内

  procedure TAbout Button Click(Sender: TObject);  var   InptName InptCode RealCode:String;   Same:Integer;   Reg:Tregistry;   Keyname:String;  begin   if NoRegistry then //未注册时做   begin   RealCode:= ;   InptName:= InputBox( 注册 输入你的名字 );   if InptName<> then   begin   InptCode:= InputBox( 注册 输入注册号 );   RealCode:=Encrypt(InptName);  Same:=CompareText(RealCode InptCode);   if (Same<> ) then  showmessage( 注册号码不对 注册未成功! )   else   begin   //密码匹配时做 把用户名 密码写入注册表   Try  Reg:=Tregistry Create ;  Reg RootKey :=ey_local_machine;  KeyName:= Sofarejsjbxample ;  if Reg OpenKey(KeyName true) then   begin  Reg WriteString( Passwd InptCode);  Reg WriteString( UsrName InptName);   end;   reg CloseKey ;   finally   Reg Free ;   end;   NoRegistry:=false;  //可修改注册后的界面   end;   end;   end;  end;    三 密码的变换函数 此变换函数可由读者自由发挥 在此 仅示一例而已

cha138/Article/program/Delphi/201311/8395

相关参考

知识大全 用Delphi实现文件加密压缩技巧

用Delphi实现文件加密压缩技巧  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引 言  在日常中

知识大全 用修改文件时间的方法来加密文件

 [摘要]  本文介绍了在Delphi中利用系统函数和WindowsAPI函数配合Delphi中的DataTimePicker组件来获取和修改文件的时间信息的方法以达到软件信息的简单加密  谈到文件加

知识大全 ORACLE 应用经验(4)-加密程序

ORACLE应用经验(4)-加密程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  加密程序数据

知识大全 使用C#编写DES加密程序的framework

使用C#编写DES加密程序的framework  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  还

知识大全 轻松加密ASP.NET 2.0 Web程序配置信息

轻松加密ASP.NET2.0Web程序配置信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!一简介

知识大全 delphi简单判断程序30秒没有键盘和鼠标动作示例

本文为大家详细介绍下delphi判断程序秒没有键盘和鼠标动作这里给timer设置了ms)的参数表示秒的间隔具体实现如下感兴趣的朋友可以参考下哈   以下为原代码(这里给timer设置了ms)

行政行为在空间上的表现形式和在时间上的跨度,包括行政行为方式、步骤、次序、时限等不可分割的内容的是

行政行为在空间上的表现形式和在时间上的跨度,包括行政行为方式、步骤、次序、时限等不可分割的内容的是_____。A、行政程序B、行政诉讼C、行政复议D、行政处罚答案:A解析:行政程序是指行政机关行使行政

知识大全 用Delphi制作录音程序

用Delphi制作录音程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Delphi是Inpr

知识大全 Delphi应用程序的应用(一)[3]

DELPHI基础教程:Delphi应用程序的应用(一)[3]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 Delphi应用程序的应用(一)[2]

DELPHI基础教程:Delphi应用程序的应用(一)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看