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。
  • 相关阅读:
    批量修改横断面图高程范围
    VS添加命令直接创建pkt文件
    Msi中文件替换
    Vs2015 当前不会命中断点,没有与此关联的可执行代码
    纵断面图标注栏数据复制
    批量修改曲面样式中的显示模式
    《AutoCAD Civil 3D .NET二次开发》勘误2
    AutoCAD .NET Wizard下载地址
    样例文件C3DCustomUI无法编译、加载
    angular2 datePipe IOS不兼容问题
  • 原文地址:https://www.cnblogs.com/Mus-Li/p/6936323.html
Copyright © 2011-2022 走看看