当前位置:主页>仓库管理软件> 列表

如何对字符串简单加密?要求可逆 找人力资源管理软件

销售管理软件版1楼: 比如我有字符串1与字符串2 怎样加密后得到字符串3。
执行上述操作后,反回来我知道字符串3和字符串2,要得到字符串1,又怎么做?
XOR的反函数什么?

2楼: XOR的反函数就是XOR本身。

若有 A XOR B => C (A与B等长),则有 B XOR C => A 以及 A XOR C => B。


题目改了?安全性极高的双向流式加密算法:
http://www.delphibbs.com/keylife/iblog_show.asp?xid=7088
其它的加密算法可以很容易的搜索到。 如人力资源管理软件

3楼: 旧字符 XOR 固定字符 = 新字符
新字符 XOR 固定字符 = 旧字符
1 xor 2 = 3
3 xor 2 = 1

4楼: 怎么我下边的代码有问题呢?说类型不匹配。

procedure TForm1.Button1Click(Sender: TObject);
var
str1:string;
str2:string;
str3:string;
begin
str1:=EDIT1.Text;
STR2:=edit2.Text;
str3:= str1 XOR str2;

end;

5楼: 楼主,你要写个函数一个字符一个字符的异或才行的[:)]

6楼: 哦,异或操作只能是一个字符,而不能是字符串?

销售管理软件版7楼: Delphi中的XOR操作符是针对序数类型的,您需要按顺序对字符串中的每一个字符进行XOR
操作才行的。

SetLength(Str3,Length(Str1));
for i:=1 to Length(Str3) do
Str3[i]:=Char(Byte(Str1[i]) XOR Byte(Str2[i]));

8楼: funtion jiami(str:String):String;
var
i,l:integer;
k,t:byte;
begin
result:='''';
l:=length(str);
for i:=1 to l do
begin
t:=ord(str[i]);
k:=(t shl 4) or (t shr 4); //每个字符的高低位进行交换,再交换一次还还原了!
result:=result+chr(k);
end;
end;

加密和解密都是这一个函数~~~代码较少,但不知道实不实用!