S
slcgd
Unregistered / Unconfirmed
GUEST, unregistred user!
我用如下加密代码加密access数据库的字符串型字段,发现加密后有的字符串变短了。
有的又不变,百思不得其解。
function mycipher(const s:string;flag:byte):string
var
i:integer;
key:byte;
begin
case flag of
0
begin
setlength(result,length(s));
randomize;
random($ff);
for i:=1 to length(s) do
result:=char(byte(s) xor i xor key)
result[lenth(s)+1]:=char(key)
end;
1
begin
setlength(result,length(s)-1);
key:=byte(s[length(s)]);
for i:=1 to length(s)-1 do
result:=char(byte(s) xor i xor key)
end;
end
有的又不变,百思不得其解。
function mycipher(const s:string;flag:byte):string
var
i:integer;
key:byte;
begin
case flag of
0
begin
setlength(result,length(s));
randomize;
random($ff);
for i:=1 to length(s) do
result:=char(byte(s) xor i xor key)
result[lenth(s)+1]:=char(key)
end;
1
begin
setlength(result,length(s)-1);
key:=byte(s[length(s)]);
for i:=1 to length(s)-1 do
result:=char(byte(s) xor i xor key)
end;
end