JAVA基础

feixianxxx 2009-07-09 10:55:48
public class Example1_5 {
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');//这句什么意思 我知道是加密 我想知道怎么加的
}
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);


}
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦科 2009-07-10
  • 打赏
  • 举报
回复
做了异或运算,得到的东西肯定不是原来的东西了噻。这就实现了加密。就是这样的。
tfsict2008 2009-07-10
  • 打赏
  • 举报
回复
异或的异或就是本身
bigbug9002 2009-07-09
  • 打赏
  • 举报
回复
加密和解密都用同个字符异或就行了。
bigbug9002 2009-07-09
  • 打赏
  • 举报
回复
我按8位给你解释,实际上char是16位。
^运算的结果就是异则为真。也就是 0和1异或结果才为真,同则为假,0^0,1^1都为假。
比如:a[i]里放着10110011,你与10111010异或。结果是:
 1 0 1 1 0 0 1 1
^1 0 1 1 1 0 1 0
----------------
0 0 0 0 1 0 0 1


00001001就是加密后的结果。解密的时候,用加密后的结果再异或一次,用10111010,这是加密时用的,必须是这个。
 0 0 0 0 1 0 0 1
^1 0 1 1 1 0 1 0
-----------------
1 0 1 1 0 0 1 1


这不是就还原了吗?
feixianxxx 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bingsha1976 的回复:]
位逻辑运算符
包括:
& 与;
| 或;
~ 非(也叫做求反);
^ 异或

“& 与”、“| 或”、“~ 非”是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”复合逻辑运算。“^ 异或”是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也叫“异或非”逻辑。

例子:
5&3=1
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 …
[/Quote]
他怎么加密的啊
bigbug9002 2009-07-09
  • 打赏
  • 举报
回复
a[i]^'t'异或运算。
bingsha1976 2009-07-09
  • 打赏
  • 举报
回复
位逻辑运算符
包括:
& 与;
| 或;
~ 非(也叫做求反);
^ 异或

“& 与”、“| 或”、“~ 非”是基本逻辑运算,由此可以演变出“与非”、“或非”、“与或非”复合逻辑运算。“^ 异或”是一种特殊的逻辑运算,对它求反可以得到“同或”,所以“同或”逻辑也叫“异或非”逻辑。

例子:
5&3=1
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0001

-5&3=1
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0011

5|3=7
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0111

-5|3=-5
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1111 1111 1111 1111 1011

~5=-6
0000 0000 0000 0000 0000 0000 0000 0101
1111 1111 1111 1111 1111 1111 1111 1010

~-5=4
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0100

5^3=6
0000 0000 0000 0000 0000 0000 0000 0101
0000 0000 0000 0000 0000 0000 0000 0011
0000 0000 0000 0000 0000 0000 0000 0110

-5^3=-8
1111 1111 1111 1111 1111 1111 1111 1011
0000 0000 0000 0000 0000 0000 0000 0011
1111 1111 1111 1111 1111 1111 1111 1000

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧