求字符串加密算法(100分)

K

keepyea

Unregistered / Unconfirmed
GUEST, unregistred user!
字符串加密后明文存储,要求有一定的难度(并不要求太高),同时给出还原算法
太懒,所以不想去想了!!谢谢大家了!!
谢过了。
 
这不是你自己定义的吗?你想怎么加密就怎么加密,有什么好想的,最简单的ASCII码加上
一个数,字符的顺序就乱了,想回来也方便,减一下就行了。
我觉得加密这个东西关键在与众不同,大家都知道的加密算法,相对也就有好多人知道
怎么解密,那你还加什么密啊,是不是?
 
我要源码!
 
for i:=0 to length(data) do
data :=data xor 'a'
 
呵呵,这样加密以后别人一下子就看出来了
明文与密文之间存在着严重的依赖性;比如说 字符‘c’加密以后的结果在任意地方都是
相同的
要解决这一点可以简单的添一句再把前面已经加密好的字符用来生成新的密钥
 
在这里问不出什么东西的啦,呵,自己研究算法去,我也在研究这方面的问题,我把RSA算法
修改了一下,做成自己的算法,不过花了不少时间,,,
 
来自:creation-zy, 时间:2002-10-6 18:18:00, ID:1361586
const
XorKey:array[0..7] of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47);
function Enc(Str:String):String;
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) do
begin
Result:=Result+IntToHex(Byte(Str) xor XorKey[j],2);
j:=(j+1) mod 8;
end;
end;
function Dec(Str:String):String;
var
i,j:Integer;
begin
Result:='';
j:=0;
for i:=1 to Length(Str) div 2 do
begin
Result:=Result+Char(StrToInt('$'+Copy(Str,i*2-1,2)) xor XorKey[j]);
j:=(j+1) mod 8;
end;
end;
procedure TForm1.Button1Click(Sender: TObject); //加密
begin
Edit2.Text:=Enc(Edit1.Text);
end;
procedure TForm1.Button2Click(Sender: TObject); //解密
begin
Edit3.Text:=Dec(Edit2.Text);
end;
 
这只是基础,可以有多种变化,都说出来了,就达不到加密的作用了,
比如,高低位互换,循环移动。在数据量不大时,根本无法解密
 
htw,你好,交个朋友!!!
QQ:24299125
MSN:keepyea@msn.com

明天或后天散分,非常谢谢!!
 
这样的函数 随处可见?都是利用 异或!呵呵~~ 自己找找多好
 
先前后位异或再见通过循环密匙异或
 
顶部