当前位置: 代码迷 >> Java相关 >> java异或运算,该怎么解决
  详细解决方案

java异或运算,该怎么解决

热度:1199   发布时间:2013-02-25 21:49:12.0
java异或运算
public class Code {


public static void main(String[] args) {
String s="人民出版社";
char a[]=s.toCharArray();
for(int i=0;i<a.length;i++)
{ a[i]=(char)(a[i]^'t');//这儿的^'t'是什么意思
   
}
String secret=new String(a);
System.out.println(secret);
for (int i=0;i<a.length;i++)

{ a[i]=(char)(a[i]^'t');
}
String code=new String(a);
System.out.println(code);
}
}
这是完整的代码,没有错误。两次的异或运算secret是看不懂的文字,code是人民出版社。两个字符进行异或运算返回的是ascII码中的值,ascii值本来就是字符,怎么还需要(char)强制转换?还有就是第一次异或运算后的值和再次和't'异或运算怎么还原了??? 


------解决方案--------------------------------------------------------
主要用于加密~
------解决方案--------------------------------------------------------
反异或
  相关解决方案