请您告诉我,怎样加密(100分)

  • 主题发起人 主题发起人 delphimars
  • 开始时间 开始时间
D

delphimars

Unregistered / Unconfirmed
GUEST, unregistred user!
[:D]我想把自己的程序给别人用,但要求因身份不同使用权限也不一样。
[:(]可是我不想把库里的用户表单明晃晃地暴露。
[?]交给我一些方法吧。我知道这不太难,但我不会。[?]
[8D]各位高手,顺便帮忙了!谢谢!
 
加密之后入库

解密之后使用
 
全局变量:
StartKey=1227; {Start default key}
MultKey=64567; {Mult default key}
AddKey=234; {Add default key}

加密函数:
function TMainForm.Encrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
I : Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString) xor (StartKey shr 8));
StartKey := (Byte(Result) + StartKey) * MultKey + AddKey;
end;
end;

解密函数
function TMainForm.Decrypt(const InString:string; StartKey,MultKey,AddKey:Integer): string;
var
I : Byte;
begin
Result := '';
for I := 1 to Length(InString) do
begin
Result := Result + CHAR(Byte(InString) xor (StartKey shr 8));
StartKey := (Byte(InString) + StartKey) * MultKey + AddKey;
end;
end;
 
有很多现成的加密解密算法,找来改改就可以用了。
通常也并不需要很复杂的算法,能抵挡普通用户的好奇心就可以了。(通常情况下)
 
用加密狗
 
同意 远帆.

你用什么 , 也会让人 发现, 也会让人 解开.

我们也就是 抵挡 普通用户的 好奇 而以.

所以, 去下一个 控件就可以 了. 在 32 位深 度

找一个 自己 认为 还算好 理解的. ( 好 自己 以后 可以操作 的了)
 
嗯。。主要让一般的用户不容易发现就可以了。。搞得太多了,反而麻烦。。。
 
大家的热情讨论我很感谢,但我需要一些说来简单的加密代码!
谢谢各位。请go on,Thanks.
 
我自己写的一个加密方法。单向的,不用解密。

function mygm(sour:string):string;
var
old:pchar;
by1,by2:byte;
i,l:integer;
begin
l:=length(sour);
if l<=16 then
begin
for i:=1 to 16-l do
sour:=sour+'$'; //初始化成16位

old:=pchar(sour);
l:=length(old);
for i:=0 to l-1 do
begin
by1:=ord(old);
if i=l-1 then
by2:=ord(old[0])
else
by2:=ord(old[i+1]);
by1:=by1 xor by2;
if by1=0 then
by1:=13;
old:=chr(by1);
end;
Result:=string(old);
end
else
begin
result:='more';
showmessage('密码不能超过16位!');
end;
end;
 
我将认真学习诸位的代码!谢谢!等着受钱吧(等我消化的时候,不远了)
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部