java使用异或实现变量互换和异或加密解密示例
2018-10-12 13:59
1011 查看
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使用Hex编码解码实现Aes加密解密功能示例
- Java中使用异或语句实现两个变量的互换
- Java使用异或运算实现简单的加密解密算法实例代码
- Java实现文件的加密解密功能示例
- 实现使用3des在页面js加密,后台java解密
- Java实现的AES256加密解密功能示例
- java实现的RC4加密解密算法示例
- 使用异或进行简单的密码加密(JAVA实现)
- Java简单的加密解密算法,使用异或运算
- Java实现的RSA加密解密算法示例
- Java实现的3des加密解密工具类示例
- C#使用DES和AES实现加密解密功能示例
- java中把两个变量进行值交换,通过异或两次运算就能实现值互换。
- 使用异或运算实现中两个变量互换的方法
- 关于使用JS前台加密、JAVA后台解密的RSA实现,RSA加密和签名
- 巧用异或实现变量互换和加密
- Java简单的加密解密算法,使用异或运算
- java 中利用异或实现两个变量互换
- java基于AES对称加密算法实现的加密与解密功能示例