要求:
* 对用户输入的每个字符的值进行加密,将解密后的字符串输出
* 对用户输入的已加密字符串进行解密并输出
实现代码:
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。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。