栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java使用异或实现变量互换和异或加密解密示例

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java使用异或实现变量互换和异或加密解密示例

复制代码 代码如下:
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();
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/152555.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号