Java对字符串进行加密解密
作者:沐易笙 时间:2022-10-09 05:39:48
要求:
* 对用户输入的每个字符的值进行加密,将解密后的字符串输出
* 对用户输入的已加密字符串进行解密并输出
实现代码:
import java.util.Scanner;
/**
* 要求:
* 1.对用户输入的每个字符的值进行加密,将解密后的字符串输出
* 2.对用户输入的已加密字符串进行解密并输出
* @author Administration
*
*/
public class Encryption {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个英文字符串或揭秘字符串");
//获取用户输入
String password = input.nextLine();
//讲获取的字符串转成字符数组
char[] c = password.toCharArray();
//使用for循环给字符数组加密
for(int i=0;i<c.length;i++){
c[i] = (char)(c[i]^20000);
}
//输出加密或者解密结果
System.out.println("加密或者解密之后的结果如下:");
System.out.println(new String(c));
}
}
运行结果:
*加密过程:
请输入一个英文字符串或揭秘字符串:
I Love You
加密或者解密之后的结果如下:
乩一乬乏乖久一乹乏乕
*解密过程:
请输入一个英文字符串或揭秘字符串:
乩一乬乏乖久一乹乏乕
加密或者解密之后的结果如下:
I Love You
原理解析:
本例的关键技术是异或运算。
原理:如果一个字符(或数值)A与一个数值B进行异或运算得到C,则再用C和B进行以后运算就可以还原得到A。
标签:java,字符串,加密解密
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
自定义注解和springAOP捕获Service层异常,并处理自定义异常操作
2023-04-04 05:26:04
![](https://img.aspxhome.com/file/2023/9/93149_0s.png)
使用@TransactionalEventListener监听事务教程
2023-10-05 02:50:44
Java IO学习之缓冲输入流(BufferedInputStream)
2021-10-08 22:30:23
java结合email实现自动推送功能
2023-07-09 00:16:43
c#多线程的应用全面解析
2023-03-03 21:15:02
![](https://img.aspxhome.com/file/2023/2/77272_0s.png)
Java队列篇之实现数组模拟队列及可复用环形队列详解
2021-09-12 17:49:42
![](https://img.aspxhome.com/file/2023/1/118821_0s.png)
Android自定义控件实现按钮滚动选择效果
2023-04-02 09:42:02
![](https://img.aspxhome.com/file/2023/3/125443_0s.gif)
详解Java内部类与对象的打印概念和流程
2021-10-10 21:36:56
![](https://img.aspxhome.com/file/2023/2/71002_0s.png)
C++类中的六大默认成员函数详解
2022-09-18 01:33:01
![](https://img.aspxhome.com/file/2023/1/129531_0s.png)
详解c# 中的DateTime
2023-05-15 01:48:58
![](https://img.aspxhome.com/file/2023/2/100192_0s.png)
Java解析使用JSON的多种方法
2022-08-13 00:18:01
Netty分布式pipeline管道传播outBound事件源码解析
2022-10-17 23:43:06
![](https://img.aspxhome.com/file/2023/2/87342_0s.png)
java中set接口使用方法详解
2023-03-15 06:10:12
Java同步锁Synchronized底层源码和原理剖析(推荐)
2023-09-25 08:36:22
![](https://img.aspxhome.com/file/2023/1/89951_0s.png)
Mybatis逆工程jar包的修改和打包
2023-06-03 09:28:14
![](https://img.aspxhome.com/file/2023/7/119127_0s.png)
Android开发教程之如何屏蔽View的重复点击
2021-05-27 10:06:56
详细分析android的MessageQueue.IdleHandler
2023-06-23 19:12:10
![](https://img.aspxhome.com/file/2023/9/103869_0s.png)
java 使用DecimalFormat进行数字的格式化实例详解
2022-04-28 10:55:25
超简单的几行代码搞定Android底部导航栏功能
2022-08-03 09:26:56
![](https://img.aspxhome.com/file/2023/4/137964_0s.png)
Android百度地图应用之MapFragment的使用
2022-07-07 21:16:37
![](https://img.aspxhome.com/file/2023/2/137902_0s.png)