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.实验截图

  • 相关阅读:
    Android Studio开发JNIproject
    POJ 3006 Dirichlet&#39;s Theorem on Arithmetic Progressions 快筛质数
    ZooKeeper是什么?
    android学习记录(十三)Task 和 Activity 回退栈操作。
    Java程序员的日常—— IOUtils总结
    sql基础知识:分页+排序
    Elasticsearch推荐插件篇(head,sense,marvel)
    sql基础知识:日期的常用用法
    [大数据之Spark]——Actions算子操作入门实例
    [大数据之Spark]——Transformations转换入门经典实例
  • 原文地址:https://www.cnblogs.com/sunshine-z/p/7739919.html
Copyright © 2011-2022 走看看