⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 passwordandreg.pas

📁 学籍管理
💻 PAS
字号:
{**********************************************************************}
{                    ========================================          }
{                       加密用户信息和读写注册表的重载方法             }
{                   ========================================           }
{                                    《学籍管理系统》--作者:贺广兵    }
{                                                                      }
{   根据注册表信息帮助用户维护程序安全性。                             }
{                                                                      }
{**********************************************************************}
unit PasswordAndReg;

interface
uses
  Registry, Windows;

const
  RegDirectWithName='StuManager\QXHome';

var
  SysRegFiles:TRegIniFile;

procedure CreateReg(RegName:String);
procedure WriteReg(SectionName:String;ItemName:String;ItemResult:String);overload;
procedure WriteReg(SectionName:String;ItemName:String;ItemResult:Boolean);overload;
function ReadReg(SectionName:String;ItemName:String;ItemResult:String):String;overload;
function ReadReg(SectionName:String;ItemName:String;ItemResult:Bool):Boolean;overload;
function MakeSecret(OldString:String):String;

implementation

function ReadReg(SectionName:String;ItemName:String;ItemResult:Bool):Boolean;
begin
  CreateReg(RegDirectWithName);
  Result:=SysRegFiles.ReadBool(SectionName,ItemName,ItemResult);
  SysRegFiles.Free;
end;

function ReadReg(SectionName:String;ItemName:String;ItemResult:String):String;
begin
  CreateReg(RegDirectWithName);
  Result:=SysRegFiles.ReadString(SectionName,ItemName,ItemResult);
  Result:=MakeSecret(Result);     //解密
  SysRegFiles.Free;
end;

function MakeSecret(OldString:String):String;
var
  i:Byte;
begin
  for i:=1 to Length(OldString) do
  begin
    OldString[i]:=Char(Ord(OldString[i]) xor (i+3));
  end;
  Result:=OldString;
end;

procedure CreateReg(RegName:String);
begin
  SysRegFiles:=TRegIniFile.Create(RegName);
end;

procedure WriteReg(SectionName:String;ItemName:String;ItemResult:Boolean);
begin
  CreateReg(RegDirectWithName);
  SysRegFiles.WriteBool(SectionName,ItemName,ItemResult);
  SysRegFiles.Free;
end;
procedure WriteReg(SectionName:String;ItemName:String;ItemResult:String);
begin
  CreateReg(RegDirectWithName);
  ItemResult:=MakeSecret(ItemResult);     //加密
  SysRegFiles.WriteString(SectionName,ItemName,ItemResult);
  SysRegFiles.Free;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -