加密??就这么简单!!!---奉献一个简单有效的加密方法(5分)

  • 主题发起人 主题发起人 !雅龙
  • 开始时间 开始时间

!雅龙

Unregistered / Unconfirmed
GUEST, unregistred user!
找遍了~ 找不到好的 能直接用的源代码(而且很长)。自己写了一个简单的,试了试感觉
还不错。原理十分十分简单:xor。如果觉得好,请大家用吧~ 如果觉得不好,请大家完善
吧;如果觉得十分差,那就请写个破解吧~
有两个函数,使用的时候请调用LockStr();为什么自己看看就知道

////////////////////////////////////////////////
function LockStr(Strs,Pass:String):String;
begin
pass:=LQL_LockStr(pass,pass);
LockStr:=LQL_LockStr(Strs,pass);
end;

function LQL_LockStr(Strs,Pass:String):String;
var
MAX_K,ii,i:integer;
SS:String;
S,K:PChar;
begin

S:=pchar(Strs);
K:=pchar(Pass);
MAX_K:=length(Pass);
for i:=0 to length(S)-1 do
begin
if S<>K[(ord(K[ii]) mod MAX_K)] then
SS:=SS + chr(ord(S) xor ord(K[(ord(K[ii]) mod MAX_K)]))
else
SS:=SS + S;
ii:=ii+1;
if ii> MAX_K-1 then
ii:=0;
end;

LQL_LockStr := SS;
end;

 
这是加密者的基本想法,但不幸的是解密者也是这么想的,XOR是首先就要试一试的办法。
 
这只能用于最低级的加密,而且是基于算法加密的,别人如果知道了你的算法,就很容易破解了。
不过动机是好的
 
补充:加密和解密都用同一个函数。
虽然使用算法加密,但是也不能直接反过来啊~ 因为我也是根据密码进行的,不同的密码
和长度,结果都是不一样的。所以,只要密码中有一个字符不对,都能够“打乱”全部内
容。是不可逆的,只能穷举
 
后退
顶部