寻求一加密、解密算法:
四位整数加密成另四位整数,并能还原!!谢谢思路,代码均可!!
四位整数加密成另四位整数,并能还原!!谢谢思路,代码均可!!
解决方案 »
- 一个关于触发器和时间检索问题选择!急
- advStringGrid如何禁止多行选中,只让它可以选择一行?
- 散分,说说心里话...
- !!跪求jabber资料,每人100
- 我用ado控件连接数据库,在winxp下运行报错,吐血!
- 关于登陆窗口与sql服务器连接的问题
- 我是一个菜鸟,我想学DELPHI请问哪儿有讲解OBJECT INSPECTOR的书或资料。急!!!!
- 如何得到*.mdb数据库得所有表?
- 请问谁知道哪里有DELPHI5的中文版帮助??
- http://www.cnboor.com/reg.exe 谁下载了?需要源码的告诉我?
- 见鬼的问题(dbgrid)
- 请问哪里有加密解密算法原理和实现的书籍或者网站?
var
idx :integer;
KeyLen :Integer;
KeyPos :Integer;
offset :Integer;
dest :string;
SrcPos :Integer;
SrcAsc :Integer;
TmpSrcAsc :Integer;
Range :Integer;begin
KeyLen:=Length(Key);
if KeyLen = 0 then key:='XHFJY';
KeyPos:=0;
SrcPos:=0;
SrcAsc:=0;
Range:=256;
if Encrypt then
begin
Randomize;
offset:=Random(Range);
dest:=format('%1.2x',[offset]);
for SrcPos := 1 to Length(Src) do
begin
SrcAsc:=(Ord(Src[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;
end
else
begin
offset:=StrToInt('$'+ copy(src,1,2));
SrcPos:=3;
repeat
SrcAsc:=StrToInt('$'+ copy(src,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(Src);
end;
Result:=Dest;
end;
我现在有一个这样的情况:
我调用了一家公司的动态库,有个后遗症:
那就是不能用length函数!:(