• 电话传递数据加密


    题目:
    某个公司采用公用电话传递数据,
    数据是四位的整数,在传递过程中是加密的,加密规则如下:
    每位数字都加上5,
    然后用和除以10的余数代替该数字,
    再将第一位和第四位交换,第二位和第三位交换。

    import java.util.*;
    public class Test{  
            public void jie(int num){
                int a,b,c,d;
                a=num/1000;
                b=num/100-a*10;
                c=num/10-a*100-b*10;
                d=num%10;
                int[] s = {a,b,c,d};
                int temp=0;
                temp=s[0];
                s[0]=s[3];
                s[3]=temp;
                temp=s[1];
                s[1]=s[2];
                s[2]=temp;
                for(int i=0;i<4;i++){
                    if(s[i]<4)
                    s[i]=s[i]+10-5; 
                    else
                    s[i]=s[i]-5;
                }
                System.out.print("\t\t\t解密过后的数字为: ");
                for(int i : s)
                System.out.print(i);
            }
            public void add(int num){
                int a,b,c,d;
                a=num/1000;
                b=num/100-a*10;
                c=num/10-a*100-b*10;
                d=num%10;
                int[] s = {a,b,c,d};
                for(int i=0;i<4;i++){
                    s[i]=(s[i]+5)%10;
                }
                int temp=0;
                temp=s[0];
                s[0]=s[3];
                s[3]=temp;
                temp=s[1];
                s[1]=s[2];
                s[2]=temp;
                System.out.print("\t\t\t加密过后的数字为: ");
                for(int i : s)
                System.out.print(i);
            }
            public static void main(String args[]){
            System.out.println("\t\t\tXX公司加密解密程序");
            System.out.println("\t\t\t加密请扣1");
            System.out.println("\t\t\t解密请扣0");
            Scanner scan = new Scanner(System.in);
            int n=0;
            int num=0;
            do{
            System.out.print("\t\t\t请扣: ");
            n = scan.nextInt();
            }while(n!=1&&n!=0);
            do{
            System.out.print("\t\t\t输入要操作的数字: ");
            num = scan.nextInt();
            }while(String.valueOf(num).length()!=4);
            if(n==1)
            new Test().add(num);
            else
            new Test().jie(num);
        }
        }
    
    
    /*---运行结果---
        C:\>java Test
                                XX公司加密解密程序
                                加密请扣1
                                解密请扣0
                                请扣: 1
                                输入要操作的数字: 2013
                                加密过后的数字为: 8657
        C:\>java Test
                                XX公司加密解密程序
                                加密请扣1
                                解密请扣0
                                请扣: 0
                                输入要操作的数字: 8657
                                解密过后的数字为: 2013
    */
  • 相关阅读:
    机器学习粗略认识--线性模型
    LDA主题模型困惑度计算
    python-igraph
    pandas 使用技巧
    pandas读取MySql/SqlServer数据
    聚类模型性能评价指标
    各种编码格式
    利用分块传输吊打所有WAF--学习笔记
    Sql 注入----学习笔记2
    Sql 注入----学习笔记
  • 原文地址:https://www.cnblogs.com/laoquans/p/2963357.html
Copyright © 2020-2023  润新知