Java小案例——对字符串进行加密解密

 要求:
   *  对用户输入的每个字符的值进行加密,将解密后的字符串输出
   *  对用户输入的已加密字符串进行解密并输出


实现代码:

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。
原文地址:https://www.cnblogs.com/Mus-Li/p/6936323.html