zoukankan      html  css  js  c++  java
  • 字符串加密

    一..程序设计思想

      进行字符串的加密以及解密,因为已经知道啦规律是key是3所以在进行错位操作时需读取一个字符,然后与数字3相加,再转换为char类型,就实现了错3位加密操作,同理解密则减3。在加密操作中需要注意的是字母表最后三个,必须实现循环操作,使用ASCII码,即X加密后是A,Y加密后是B,Z加密后是C,,同理解密时则是注意abc对应为xyz。

    二.程序设计流程图

    三.源程序

    import java.util.Scanner;
    public class Encryption
    {
      public static char[] encryption(String str)
        {
          char chararry[] = str.toCharArray();
          for(int i =0; i< str.length(); i++)
          {

            if(str.charAt(i) >= 88 && str.charAt(i) <= 90)
            {
              chararry[i] = (char)(str.charAt(i) - 23);
            }
            else if(str.charAt(i) >= 120 && str.charAt(i) <= 122)
            {
              chararry[i] = (char)(str.charAt(i) - 23);
            }
            else
            {
              chararry[i]= (char) (str.charAt(i) + 3) ;
            }

          }
    return chararry;
    }
      public static char[] deciphering(String str)
      {
        char chararry[] = str.toCharArray();
        for(int i =0; i< str.length(); i++)
        {

          if(str.charAt(i) >= 65 && str.charAt(i) <= 67)
          {
            chararry[i] = (char)(str.charAt(i) + 23);
          }
          else if(str.charAt(i) >= 97 && str.charAt(i) <= 99)
          {
            chararry[i] = (char)(str.charAt(i) + 23);
          }
          else
            {
              chararry[i]= (char) (str.charAt(i) - 3) ;
            }
          }
    return chararry;
    }
      public static void main(String[] args)
      {
        Scanner imput1 = new Scanner(System.in);
        Scanner imput2 = new Scanner(System.in);

        System.out.println("加密字符串请输入1");
        System.out.println("解密字符串请输入2");


        int x = imput1.nextInt();
        System.out.print("输入一个英文字符串:");
        String string = imput2.nextLine();
          if(x == 1)
          {
            System.out.print("加密后为:");
            for(int i =0;i <string.length(); i++)
            {
              System.out.print(Encryption.encryption(string)[i]);
            }
          }
            if(x == 2)
            {
              System.out.print("解密后为:");
              for(int i =0;i <string.length(); i++)
              {
                System.out.print(Encryption.deciphering(string)[i]);
              }
            }

      imput1.close();
      imput2.close();
    }

    }

    四.结果截图

  • 相关阅读:
    如何让一个图片宽度为百分比时居中,且宽度等于高度
    React创建组件的三种方式及其区别
    给电脑换源 npm 国内镜像 cnpm
    ps使用图层合并切图
    textarea去掉右下三角号
    使用定时器通过改变图片的src来切换图片
    如何使一个元素垂直居中
    如何让背景图固定,不随着滚动条移动而且在不同分辨率的屏幕下铺满
    java 中MAP的按照进入顺序遍历与无序遍历
    java树形目录展示
  • 原文地址:https://www.cnblogs.com/877612838zzx/p/7744297.html
Copyright © 2011-2022 走看看