将PASSWORD与一个KEY(字符串)异或一下就得到了一个简单的加密字串
将加密后的字串再与这个KEY异或一下就回到了原来的PASSWORD!var
i: Integer;
bBuf,bCode: Byte; For i:=0 to 16 Do
Begin
bBuf := Ord(pass[i]);
bCode := Ord(key[i mod length(key)]);
password[i] := Chr(bBuf xor bCode);
End;
pass-明码
password-密码
将加密后的字串再与这个KEY异或一下就回到了原来的PASSWORD!var
i: Integer;
bBuf,bCode: Byte; For i:=0 to 16 Do
Begin
bBuf := Ord(pass[i]);
bCode := Ord(key[i mod length(key)]);
password[i] := Chr(bBuf xor bCode);
End;
pass-明码
password-密码
解决方案 »
- 50分请教一个简单问题,关于MessageBox
- 急,dxDBTreeView控件的一个非常重大的隐患
- 想做一个小程序,不知如何下手,想请大家帮帮忙
- 有杭州的吗?杭州用Delphi开发的单位这么少,不好找工作呀?
- 哪位高人给我讲讲SQL的格式
- 状态栏的问题
- 我想把ADODataSet放到线程中去运行SQL语句,该怎样实现?
- 如何改变DBGRID那讨厌的拖动条的不规则的情况。
- 动态表单的一点小错误---------在线等
- 如何让程序运行时检测进程,发现指定进程就不运行程序.
- XPDesign 让你的控件变成 Windows XP 风格,怎么装不上去!!应该怎么装??
- dw字段为空时,edit1.text却不能显示,请问怎么办??????
呵呵,我也是这么想的。我并不需要特别复杂的加密技术。
可是,我有一个要求,加密后的字符能规范一些,限制在数字和字母之中,
不要出现其他符号。千山的办法很简洁,可是有字符超出这个限制的问题。还
有就是密匙如果和加密前的字符相同,出现#0,那就无法正确还原了。
既然为文件加密了,那么加密后的字符当然越丑越好了,反正人家也是看不懂,说不定还能对你产生莫测高深的感觉呢!
我以前搞过一个加密程序,我当时不是用为每个字符加值这样的方式来做的,而是自己编一个函数把每行中的字符顺序打乱;比如说:str1是原来的字符串,那么str2:=jiami(str1),此时str2就是加密后的字符串,然后在文本中一行一行的读,一行一行的加密,再写到文本中去;
解密的时候只要用str1;=jiemi(str2)还原;
一:加密文件
1),建立一个文件dfile;
2),从源文本文件sfile中读入一行,赋值给str1;
3),str2;=jiami(str1);把str2写到dfile中;
4),重复(2)、(3)直到源文本文件结束;
5),删掉源文本文件sfile;把dfile改名为sfile;
6),结束,退出;解密过程相似!
想来想去,还是字符加值的方法比较好点,他是针对某个字符而不是字符串,所以不会出现什么错误;你说的那个什么#0的问题,我没弄懂,而且我回去按照这样编程序的时候,也没发现你所说的问题,可能我的测试还是不全面吧!
密码如果和密匙相同也是没有问题的!
出现#0也是很正常的!
不过没有关系,二进制串没有不包涵#0的道理,
你不要用pchar,string!
加密后的密文当然是用一个谁也看不懂的二进制串进行存储了!
如果还要保证加密后的密码是可以显示的字符
那么我想我可以从我自己的密码和加密后的字符串中
一下子就看出加密的规律,如:
我的密码为"aaaaa",加密后就变为"ddddd",
我就知道我只是加了3,
如果我发现有个人的密后的字符串为“defg”
那个我知道了他的密码为:“abcd”!
值不是一个定值,而是由一个函数生成;比如说我们可以在所加密的字符的序号上面做一些文
章;我是这样的想的,假如一个字符ch的序号为80,
n:=ord(ch);
k:=n div 9;
l:=n mod 9;
n1:=k*10+l;
此时n1的值为88;那么加密后的字符可以为newchar:=chr(n1);
当然也可以在这个n1上面先加上一个定值,再转换成字符; 但是我发现了一个问题,就是如果字符的序号比较小,那么它们的增幅基本上一样,这样
按照你所说的思维方法来讲还是可以发现一点的;所以我想加上一个控制策略,当序号低
于一定值的时候,就div、mod一个较小的值,拉开他们的差距;当然所有加的范围肯定也
要注意的。如何复原当然也知道了; 我是这样想的,但是还没有试验过,可能还有什么不妥的地方;希望
liang_z(千山一刀之忍者神龟) 大哥以及各位大虾不吝指教!