手机
当前位置:查字典教程网 >编程开发 >Java >java使用异或实现变量互换和异或加密解密示例
java使用异或实现变量互换和异或加密解密示例
摘要:复制代码代码如下:importjava.util.Scanner;publicclassVariableExchange{publicsta...

复制代码 代码如下:

import java.util.Scanner;

public class VariableExchange {

public static void main(String[] args){

System.out.println("请输入变量A的值");

Scanner scanner=new Scanner(System.in);

long A=scanner.nextLong();

System.out.println("请输入变量B的值");

Scanner scannerB=new Scanner(System.in);

long B=scannerB.nextLong();

System.out.println("A="+A+"t"+"B="+B);

System.out.println("执行变量互换...");

A=A^B;

B=B^A;

A=A^B;

System.out.println("A="+A+"t"+"B="+B);

}

}

其实现是巧用了异或运算。

其原理:

复制代码 代码如下:

a = a ^ b;

b = b ^ a;

a = a ^ b;

复制代码 代码如下:

a1=a^b

b=a1^b=(a^b)^b=a

a=a1^b =a1^(a1^b)=a1^a1^b=b

同一变量与另一变量和其异或值异或等于自身。

该原理同样可运用于加密。将其值与key进行异或得到加密后的串,解密操作也只需与key再异或一次。

补充:

Scanner类:

一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

例1:

复制代码 代码如下:

Scanner sc = new Scanner(System.in);

int i = sc.nextInt();

例2:

复制代码 代码如下:

Scanner sc = new Scanner(new File("myNumbers"));

while (sc.hasNextLong()) {

long aLong = sc.nextLong();

}

【java使用异或实现变量互换和异或加密解密示例】相关文章:

java使用数组和链表实现队列示例

java配置dbcp连接池(数据库连接池)示例分享

java异或加密算法

java加密解密示例分享

java开发_图片截取工具实现原理

java多线程编程之使用thread类创建线程

java中使用DES加密解密实例

java使用dom4j解析xml配置文件实现抽象工厂反射示例

Java线程优先级示例代码

java多线程和并发包入门示例

精品推荐
分类导航