今天做了一道加密题,具体加密方法是这样的

 

 

设计思路很简单,用户输入一个字符串,把它的每个字符都装到一个临时数组里,然后做ascii码+3或-3的运算,在头和尾的单独考虑即可。之后将数组的元素转为字符串型输出。

源代码:

//jeson 加解密码程序 2015/10/24

import java.util.*;

 

public class Mima {

 

    public static void main(String args[])

    {

        System.out.println("请输入所需操作:加密-1,解码——2");

        int xuanze;

        Scanner sca=new Scanner(System.in);

        xuanze=sca.nextInt();

        if(xuanze==1)

        {

            System.out.println("请输入所需加密字符串");

            String zifuchuan=new String();

            zifuchuan=sca.next();

            char out[]=new char[zifuchuan.length()];

            for(int i=0;i<zifuchuan.length();i++)

            {

                if(zifuchuan.charAt(i)>='A'&&zifuchuan.charAt(i)<='W')

                {

                    out[i]=(char) (zifuchuan.charAt(i)+3);

                }

                if(zifuchuan.charAt(i)=='X')  out[i]='A';

                if(zifuchuan.charAt(i)=='Y')  out[i]='B';

                if(zifuchuan.charAt(i)=='Z')  out[i]='C';

               

            }

            //将数组转化为字符串

            String linshi=new String();

            for(int w=0;w<zifuchuan.length();w++)

            {

                linshi=out[w]+linshi;

            }

            System.out.println("字符串加密后为"+linshi);

        }

       

       

        if(xuanze==2)

        {

            System.out.println("请输入所需解密字符串");

            String zifuchuan=new String();

            zifuchuan=sca.next();

            char out[]=new char[zifuchuan.length()];

            for(int i=0;i<zifuchuan.length();i++)

            {

                if(zifuchuan.charAt(i)>='D'&&zifuchuan.charAt(i)<='Z')

                {

                    out[i]=(char) (zifuchuan.charAt(i)-3);

                }

                if(zifuchuan.charAt(i)=='C')  out[i]='Z';

                if(zifuchuan.charAt(i)=='B')  out[i]='Y';

                if(zifuchuan.charAt(i)=='A')  out[i]='X';

               

            }

            //将数组转化为字符串

            String linshi=new String();

            for(int w=0;w<zifuchuan.length();w++)

            {

                linshi=out[w]+linshi;

            }

            System.out.println("字符串解密后为"+linshi);

          

        }

       

 

    }

}

 

截图: