本实例通过位运算符,把字符串与一个指定的值进行异或运算,从而改变字符串中每个字符的值,这样就可以得到一个加密后的字符串,当把加密后的字符串作为程序输入内容,异或运算会把加密后的字符串还原为原来字符串的值。

代码如下:

import java.util.Scanner;

public class Encryption {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个英文字符串或者解密字符串");
String password=sc.nextLine();
char[] array=password.toCharArray();
for(int i=0;i<array.length;i++){
array[i]=(char)(array[i]^20000);
}
System.out.println("加密或解密的结果如下:");
System.out.println(new String(array));
}

}

代码解析:本实例的关键技术在于异或运算,如果某个字符x与一个数值m进行异或运算得到y,则再用m进行异或运算就可以还原为x,因此这个原理可以实现加密和解密功能

转载于:https://www.cnblogs.com/chongchong0207/p/5932386.html

通过异或运算符加密解密 难度二星相关推荐

  1. C 使用异或(xor)加密/解密文件

    C 使用异或(XOR)加密/解密文件 之前写过一篇<php 使用异或(XOR)加密/解密文件>,但php执行的速度很慢,因此这次使用C重写,速度有很大的提高. xor_encrypt.c ...

  2. C#语言实例源码系列-异或算法加密解密

    专栏分享 点击跳转=>Unity3D特效百例 点击跳转=>案例项目实战源码 点击跳转=>游戏脚本-辅助自动化 点击跳转=>Android控件全解手册

  3. Java常见应用——Json,二维码生成,加密解密应用

    Java常见应用--Json,二维码生成,加密解密应用 一.JSON 1.下载json架包,json官网:json.org 2.将Map/JavaBean/String转化成json对象,只需要使用J ...

  4. PHP sg11加密解密 sg解密

    这类加密,可大量加大源码文件,不但导致无法正常阅读,更大影响服务器性能.而且阻碍二次修改开发. 这类加密解密难度相对较大,但也可以解密 如需付费解密 可以联系q 945912362 添加前请说明csd ...

  5. 用java实现互换和清空_java使用异或实现变量互换和异或加密解密示例

    import java.util.Scanner; public class VariableExchange { public static void main(String[] args){ Sy ...

  6. 用异或的性质实现简单加密解密

    异或运算用^表示,对a,b两整数进行异或操作是当两数的二进制对应位置不同时,结果的该位为1,否则为0. 异或运算有一个性质:  当a^b=c,则c^b=a,即同一个数对a进行两次异或的结果还是a. 利 ...

  7. 异或加密的java算法_Java使用异或运算实现简单的加密解密算法实例代码

    Java简单的加密解密算法,使用异或运算 实例1: package cn.std.util; import java.nio.charset.Charset; public class DeEnCod ...

  8. java 文件进行加密解密_java使用异或对文件进行加密解密

    本文实例为大家分享了java使用异或对文件进行加密解密的具体代码,供大家参考,具体内容如下 1.使用异或的方式加密文件的原理 一个数异或另一个数两次,结果一定是其本身 2.使用异或的原理加密文件 /* ...

  9. lua与php通用异或算法,php使用异或实现的加密解密实例

    若a=b ^ c;则b=a ^ c (^是异或的意思),php在处理异或的字符时先把字符转化为二进制的ascii值,对这些值进行异或,获取结果后在将ascii值转化为字符,原理说晚了直接贴实现的代码: ...

最新文章

  1. node、Mongo项目如何前后端分离提供接口给前端
  2. 【C语言】两种方式实现冒泡排序算法
  3. RunLoop深度探究以及有关面试题
  4. vs 窗体连接mysql_vs2008 c#开发windows窗体程序,怎么连接数据库?
  5. Spring-boot 打成jar包后使用外部配置文件
  6. 使用自动机的Lucene新的邻近查询
  7. LeetCode题——最长无重复子串
  8. vant表单点击提交没有触发验证_jquery.validate不用submit提交,用js提交的,怎么触发验证啊?...
  9. 易语言空壳程序360误报测试解决方法
  10. 查询目标服务器系统,查看目标服务器的操作系统
  11. 拓端tecdat|虎扑社区论坛数据爬虫分析报告
  12. Ubuntu20安装gcc6.3.0
  13. LT8918 BT1120转mipi dsi/mipi csi;提供技术支持
  14. 经典怀旧软件----PP点点通
  15. php 输入经纬度查询位置,根据经纬度查询附近地点信息
  16. 怎么判断日出时间早晚_怎样知道当地每天几点日出?
  17. 树的遍历顺序 - dfs序|欧拉序|dfn序(备忘)
  18. pip设置默认为清华镜像
  19. (七)Zabbix实现微信报警通知
  20. word如何关闭批注模式【教程】

热门文章

  1. 关于Talend的Patch分支对应Eclipse开发环境的配置总结.
  2. 操作分布式文件之六:如何解析远程文件
  3. CEAC网络构建试题
  4. 2021.04.07 oppo HR面
  5. cv2.findContours
  6. warnings.filterwarnings(ignore)
  7. Verilog赋值间延迟语句与赋值内延迟语句比较
  8. sublime编辑器中文乱码的问题
  9. Git安装教程(Windows安装)
  10. Python学习笔记(随笔)