有 有毛病 Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #1 比如我有字符串1与字符串2 怎样加密后得到字符串3。 执行上述操作后,反回来我知道字符串3和字符串2,要得到字符串1,又怎么做? XOR的反函数什么?
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #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 其它的加密算法可以很容易的搜索到。
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 其它的加密算法可以很容易的搜索到。
C czcn Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #3 旧字符 XOR 固定字符 = 新字符 新字符 XOR 固定字符 = 旧字符 1 xor 2 = 3 3 xor 2 = 1
有 有毛病 Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #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;
怎么我下边的代码有问题呢?说类型不匹配。 procedure TForm1.Button1Click(Sender: TObject); var str1:string; str2:string; str3:string; begin str1:=EDIT1.Text; STR2:=edit2.Text; str3:= str1 XOR str2; end;
T thx1180 Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #5 楼主,你要写个函数一个字符一个字符的异或才行的[]
C creation-zy Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #7 Delphi中的XOR操作符是针对序数类型的,您需要按顺序对字符串中的每一个字符进行XOR 操作才行的。 SetLength(Str3,Length(Str1)); for i:=1 to Length(Str3) do Str3:=Char(Byte(Str1) XOR Byte(Str2));
Delphi中的XOR操作符是针对序数类型的,您需要按顺序对字符串中的每一个字符进行XOR 操作才行的。 SetLength(Str3,Length(Str1)); for i:=1 to Length(Str3) do Str3:=Char(Byte(Str1) XOR Byte(Str2));
C cjianwen Unregistered / Unconfirmed GUEST, unregistred user! 2006-01-03 #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); k:=(t shl 4) or (t shr 4); //每个字符的高低位进行交换,再交换一次还还原了! result:=result+chr(k); end; end; 加密和解密都是这一个函数~~~代码较少,但不知道实不实用!
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); k:=(t shl 4) or (t shr 4); //每个字符的高低位进行交换,再交换一次还还原了! result:=result+chr(k); end; end; 加密和解密都是这一个函数~~~代码较少,但不知道实不实用!