zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    Java 的this和super关键字
    Java关于访问控制权限
    Java 封装 继承 多态
    Java的集成开发工具
    如何查询小程序中的代码量
    小程序中使用echarts及使用的坑
    微信小程序-新的页面授权机制
    前端处理几十万条数据不卡顿(window.requestAnimationFrame)
    Vs code中Eslint 与 Prettier格式化冲突
    从原型与原型链的角度看es6 class
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936323.html
Copyright © 2011-2022 走看看