导航:首页 > 编程语言 > delphi程序加密

delphi程序加密

发布时间:2023-05-22 04:40:08

⑴ delphi rsa公钥加密,是否有不用模数的方式

公钥文件本身就包含了模数和公钥。
以1024位公钥为例,使用UE32或winhex软件打开公钥文件。
//前4个字节(0-3)是公钥长度:00 00 00 80为128字节
/迅团/后察胡面跟的128字节(4-131)为亩没橘公钥的n值,这里直接放到程序
//再后面的4个字节(132-135)为值
//最后4个字节(136-139)是公钥的e值:00 01 00 01为65537。

希望对你有所帮助。

⑵ 用注册表对Delphi程序加密

本加密方法分三部分 根据对注册表的搜索结果判定设置对话框的内容 若初次使用 则设新密码 若是已经设置密码档卜 则进行验证 一个密码变换小程序(比原来的复杂得多) 当然 如果需要修改密码的功能 只要将设置密码部分改动一下即可 一 程序启动时 通过搜索注册表 判断是否已有密码 来确定窗口的显示内容 不过事先应有以下的声明然后才能使用 在user中加入TRegistry 在var声明中加入以下几个窗体变量 TheReg: TRegistry;KeyName ValueStr tempStr:String; procere TfrmPass FormShow(Sender: TObject); beginTheReg := TRegistry Create;try TheReg RootKey := HKEY—LOCAL—MACHINE;KeyName := ′SOFAREMypassword′;//有该键则打开 没有则创建if TheReg OpenKey(KeyName True) then begin档灶tempStr:=ExtractFileName(Application ExeName); //读取密码ValueStr:=TheReg ReadString(tempStr);//密码不为空则修改窗体为验证密码if ValueStr<>′′ then beginedit Visible:=false; frmPass Caption:=′验证密码′;edit SetFocus; OK Caption:=′确定′; end//密码为空则修改窗体为设置密码对话框else beginshowmessage(′第一次使用请设置密码!′);edit Visible:=true; frmPass Caption:=′请设置新密码′;edit SetFocus; OK Caption:=′设置′;行蠢扮end; TheReg CloseKey; end;finally TheReg Free; end; end; 二 按钮的响应代码 包括新设密码和验证密码 procere TfrmPass OKClick(Sender: TObject);begin//根据Edit 的显示与否判断已有密码 进行验证if edit Visible=false then beginif pass(edit text)=ValueStr then beginshowmessage(′密码正确!′); endelse beginshowmessage(′密码不正确!无权操作!′);halt; end; end //无密码 设置新密码else beginif edit text=edit text then beginTheReg := TRegistry Create;TheReg RootKey := HKEY—LOCAL—MACHINE;KeyName := ′SOFAREMypassword′;if TheReg OpenKey(KeyName True) thenTheReg WriteString(tempStr pass(edit text));TheReg CloseKey; endelse beginshowmessage(′再次键入的密码不一致 请重输!′);edit text:=′′; edit text:=′′;edit SetFocus; end; //进行下一步操作 end; end; 三 密码变换程序 注意要预先定义 这个变换小程序在笔者看来还不算很复杂 只进行了两次变换 不过 想要破译也是得费点劲 读者还可以采用其他的数学函数进行更为复杂的变换 function pass(pstr:string):string;var str str :string; i j:integer; beginstr:=pstr;for i:= to length(str) do begin//进行第一次变换j:=(i*i*i mod (i+ ))+(i*i mod (i+ ))+i* + ;str :=str +chr(ord(str[i])+j); //第二次变换j:=(i*i*i mod (i+ ))+(i*i mod (i+ ))+i* + ;str :=str +chr(ord(str[i])+j); end;pass:=str ; end; lishixin/Article/program/Delphi/201311/24821

⑶ Delphi加密算法

我用孝枣的加密巧搏拆解密
function EncryptString(Source, Key: string): string;
//对字符串加密(Source:源 Key:密匙)
var
KeyLen: integer;
KeyPos: integer;
Offset: integer;
Dest: string;
SrcPos: integer;
SrcAsc: integer;
Range: integer;
begin
KeyLen := Length(Key);
if KeyLen = 0 then
Key := 'delphi';
KeyPos := 0;
Range := 256;
randomize;
Offset := random(Range);
Dest := format('%1.2x', [Offset]);
for SrcPos := 1 to Length(Source) do
begin
SrcAsc := (Ord(Source[SrcPos]) + Offset) mod 255;
if KeyPos < KeyLen then
KeyPos := KeyPos + 1
else
KeyPos := 1;
SrcAsc := SrcAsc xor Ord(Key[KeyPos]);
Dest := Dest + format('%1.2x', [SrcAsc]);
Offset := SrcAsc;
end;
result := Dest;
end;
function UnEncryptString(Source, Key: string): string;
//对字符串解密(Src:源 Key:密匙)
var
KeyLen: integer;
KeyPos: integer;
Offset: integer;
Dest: string;
SrcPos: integer;
SrcAsc: integer;
TmpSrcAsc: integer;
begin
KeyLen := Length(Key);
if KeyLen = 0 then
Key := 'delphi';
KeyPos := 0;
Offset := strtoint('$' + (Source, 1, 2));
SrcPos := 3;
repeat
SrcAsc := strtoint('$' + (Source, SrcPos, 2));
if KeyPos < KeyLen then
KeyPos := KeyPos + 1
else
KeyPos := 1;
TmpSrcAsc := SrcAsc xor Ord(Key[KeyPos]);
if TmpSrcAsc <银世= Offset then
TmpSrcAsc := 255 + TmpSrcAsc - Offset
else
TmpSrcAsc := TmpSrcAsc - Offset;
Dest := Dest + chr(TmpSrcAsc);
Offset := SrcAsc;
SrcPos := SrcPos + 2;
until SrcPos >= Length(Source);
result := Dest;
end;

⑷ 如何在Delphi软件中实现对配置文件的加密解密

直接先加密在放到ini 文件里
要用的时候直接解密出来就可以了
至于用什么加密算法看你自己喜欢
推荐用base64算法不错 网上到处有的下

⑸ 该怎么解决,delphi实现DES字节流加密

在 CnPack 提供的源代码包里,提供了 des 加解密单元文件,提供了以下四个功能函数:

function DESEncryptStr(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回密文,
注:由于密文可能含有扩展 ASCII 字符,因此在 DELPHI 2009 或以上版数渗本中,请用
AnsiString 类型的变量接收返回值,以避免出现多余的 Unicode 转换而导致解密出错}

function DESDecryptStr(Str, Key: AnsiString): AnsiString;
{* 传入密文与加密 Key,DES 解卖毕罩密返回明文}

function DESEncryptStrToHex(Str, Key: AnsiString): AnsiString;
{* 传入明文与加密 Key,DES 加密返回转换成十六中闹进制的密文}

function DESDecryptStrFromHex(StrHex, Key: AnsiString): AnsiString;
{* 传入十六进制的密文与加密 Key,DES 解密返回明文}

⑹ Delphi程序的时限和加密方法

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

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

密码的变换函数

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

procere 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< )) thenbeginshowmessage( 程序未注册超过试用期或更改系统时间 将终止运行! );application Terminate;//超过 天 则禁止运行end;end;end;

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

procere 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<> ) thenshowmessage( 注册号码不对 注册未成功! ) else begin //密码匹配时做 把用户名 密码写入注册表 TryReg:=Tregistry Create ;Reg RootKey :=ey_local_machine;KeyName:= Sofarejsjbxample ;if Reg OpenKey(KeyName true) then beginReg WriteString( Passwd InptCode);Reg WriteString( UsrName InptName); end; reg CloseKey ; finally Reg Free ; end; NoRegistry:=false;//可修改注册后的界面 end; end; end;end; 三 密码的变换函数 此变换函数可由读者自由发挥 在此 仅示一例而已

lishixin/Article/program/Delphi/201311/8395

⑺ 用Delphi制作文本文档程序,在文本中内容加密,我的思路是把文本内容打成乱码,在点击“解密”变回原来的

我以前也做过这种小程序。这个算法你可以自己设计,也可以用像什么MD5之类的加解密算法咯。

但因为不能粘贴附件,所以就贴点代码袜汪。

procere TForm1.N2Click(Sender: TObject);//打开文件
var
tl:string;
begin
if OpenDialog1.Execute then
begin
ListBox1.Clear;
Caption:='文件加携拿密解密器'+OpenDialog1.FileName;
AssignFile(ATextFile,OpenDialog1.FileName);
Reset(ATextFile);
while not eof(ATextFile) do
begin
Readln(ATextFile,tl);
ListBox1.Items.Add(tl);
end;
CloseFile(ATextFile);
end;
end;

function Encode(s:string):string;/告隐仔/加密的核心部分
var
n,i:integer;
str:string;
begin
n:=length(s);
str:='';
for i:=1 to n do
begin
str:=str+char(ord(s[i])+10);
end;
Encode:=str;
end;

function Decode(s:string):string;//解密的核心部分
var
n,i:integer;
str:string;
begin
n:=length(s);
str:='';
for i:=1 to n do
begin
str:=str+char(ord(s[i])-10);
end;
Decode:=str;
end;

procere TForm1.N3Click(Sender: TObject);//加密
var
ln:integer;
tl,nl:string;
begin
if SaveDialog1.Execute then
begin
AssignFile(ATextFile,SaveDialog1.FileName);
Rewrite(ATextFile);
for ln:=0 to ListBox1.Items.Count-1 do
begin
tl:=ListBox1.Items[ln];
nl:=Encode(tl);//加密
Writeln(ATextFile,nl);
end;
CloseFile(ATextFile);
end;
end;

procere TForm1.N4Click(Sender: TObject);//解密
var
ln:integer;
tl,nl:string;
begin
if SaveDialog1.Execute then
begin
AssignFile(AtextFile,SaveDialog1.FileName);
Rewrite(ATextFile);
for ln:=0 to ListBox1.Items.Count-1 do
begin
tl:=ListBox1.Items[ln];
nl:=Decode(tl);//解密
Writeln(ATextFile,nl);
end;
CloseFile(ATextFile);
end;
end;

阅读全文

与delphi程序加密相关的资料

热点内容
电脑如何打开ppt文件怎么打开方式 浏览:782
魅族锁定区文件夹 浏览:357
刻字cnc怎么编程 浏览:182
学校的网络拓扑结构图 浏览:784
收集100个pdf文件里关键词 浏览:594
苹果关闭4g网络设置 浏览:289
如何监测数据库 浏览:967
拷贝过来的pdf文件 浏览:751
抖音小店的访客数据怎么看 浏览:670
怎么把c语言编程的字符向下移动 浏览:786
sql删除文件组代码 浏览:978
安卓post请求多重json 浏览:776
微信消除数据怎么恢复 浏览:918
小米刷机显示系统找不到指定文件 浏览:528
苹果手机小风扇图app叫什么 浏览:292
繁体中文输入工具 浏览:916
pc桌面壁纸文件夹 浏览:473
微信怎么添加群 浏览:781
40岁男人适合的微信名 浏览:925
编程里比例怎么打 浏览:215

友情链接