zoukankan      html  css  js  c++  java
  • 密码加密和解密

    1.程序设计思路

    设置两个功能,加密和解密,加密时先算ASCII值,然后根据规则改变ASCII值,输出对应的加密字符串,解密时,同样算出字符串的ASCII,根据规则改变ASCII值,输出对应的解密字符串。

    2.程序流程图

    3.源代码

    package 课程作业1;
    import java.util.Scanner;
    public class Test {

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    System.out.println("请选择:1加密2解密");//选择加密或者解密
    Scanner input=new Scanner(System.in);
    Scanner scanner=new Scanner(System.in);
    int n,p1=0;
    int p=input.nextInt();//输入选项,选择功能
    if(p1==1)
    {
    System.out.println("请输入密码:");
    String m=scanner.nextLine(); //输入字符串
    System.out.println("输出加密密码:");
    for(int i=0;i<m.length();i++)//每个字符的ASCII值
    {
    if(m.charAt(i)== 88)//x转换成a
    {
    p1=65;
    }
    else if(m.charAt(i)==89)//y转换成b
    {
    p1=66;
    }
    else if(m.charAt(i)==90)//z转换成c
    {
    p1=67;
    }
    else if(m.charAt(i)==120)//X转换成A
    {
    p1=97;
    }
    else if(m.charAt(i)==121)//Y转换成B
    {
    p1=98;
    }
    else if(m.charAt(i)==122)//Z转换成C
    {
    p1=99;
    }
    else
    { n=m.charAt(i);//其他字符转换
    p1=n+3;
    }

    System.out.print((char)p1);//输出加密后的字符
    }

    }
    if(p==2)
    {
    System.out.println("请输入密码:");
    String m=scanner.nextLine();
    System.out.println("输出解密密码:");
    for(int i=0;i<m.length();i++)
    {
    if(m.charAt(i)== 65)//a转换成x
    {
    p1=88;
    }
    else if(m.charAt(i)==66)//b转换成y
    {
    p1=89;
    }
    else if(m.charAt(i)==67)//c转换成z
    {
    p1=90;
    }
    else if(m.charAt(i)==97)//A转换成X
    {
    p1=120;
    }
    else if(m.charAt(i)==98)//B转换成Y
    {
    p1=121;
    }
    else if(m.charAt(i)==99)//C转换成Z
    {
    p1=122;
    }
    else
    { n=m.charAt(i);//其他的字符解密
    p1=n-3;
    }

    System.out.print((char)p1);//输出解密密码
    }
    }

    }

    }

    4.实验截图

  • 相关阅读:
    轮播图案例
    如何使用google等一系列搜索引擎?
    开源项目weiciyuan运行前gradle调试过程记录
    onRetainNonConfigurationInstance方法状态保存
    关于stickybroadcast
    关于Bundle对象的思考
    android中finish和system.exit方法退出的区别
    关于RAW 和 ASSEST文件夹的差异
    图片缓存核心类LruCache
    Android常用开源库集合【持续更新】
  • 原文地址:https://www.cnblogs.com/sunshine-z/p/7739919.html
Copyright © 2011-2022 走看看