数字加密

java中使用数组对数字进行简单的加密。

数字加密

需求:

某系统的数字密码:比如1983,采用加密方式进行传输,规则如下:
先得到每位数,然后每位数都加上5,再对10取余,最后将所有的数字反转,得到一组新数。

核心逻辑:

  • 1.定义两个变量分别占数组的首位位置。
  • 2.一个变量往前走,一个变量往后走,同步交换双方的位置处的值。

打码展示:

//1.定义一个输入存入需要加密的数字
        System.out.println("请输入所加密数字个数:");
        Scanner scanner = new Scanner(System.in);
        int length =scanner.nextInt();
        int[] arr = new int[length];

        //2.录入需要加密数字
        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入加密的第"+(i+1)+"个数字");
            int number = scanner.nextInt();
            arr[i] = number;
        }

        //3.打印加密前得数据
        System.out.println("加密前的数据:");
        printArray(arr);
        System.out.println();
        //4.核心逻辑(对数组中的数据进行加密)
        for (int i = 0; i < arr.length; i++) {
            arr[i] = (arr[i] + 5) % 10;
        }

        //5.核心逻辑(对数组中加密数据进行反转得到结果)
        for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
            //直接交换左右对应位置的值
            int temp = arr[j];
            arr[j] = arr[i];
            arr[i] = temp;

        }
        System.out.println("加密后的数据:" );
        printArray(arr);

输出数组的方法

public static void printArray(int[] arr) {
        System.out.print("[ ");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(i==arr.length-1?arr[i]:arr[i]+" ");
        }
        System.out.print(" ]");

代码核心逻辑来自黑马案例六

Original: https://www.cnblogs.com/zhangyouren/p/16402084.html
Author: Haziy
Title: 数字加密

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/622555/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • MIB MODULE HOST-RESOURCES-MIB

    Textual Conventions Name: BooleanSyntax: Enumerated Name: KBytesSyntax: Integer Range Name…

    数据库 2023年6月11日
    098
  • CompletableFuture方法全解

    public class SpringbootWebApplicationTests { private final Logger logger = LoggerFactory.g…

    数据库 2023年6月6日
    084
  • 今日🎸吉他练到这儿

    本文来自博客园,作者:ukyo–BlackJesus,转载请注明原文链接:https://www.cnblogs.com/ukzq/p/16750421.html Or…

    数据库 2023年6月11日
    0101
  • Mysql数据库基础_复习思维导图

    Mysql复习的一个小总结,用xmind写的。(字数没有都不给我发博客😹) 下面是一些备注 子查询 MySQL子查询称为内部查询,而包含子查询的查询称为外部查询。 子查询可以在使用…

    数据库 2023年5月24日
    074
  • Java面试题(九)–Spring MVC

    1、Spring MVC中的拦截器和Servlet中的filter有什么区别? 过滤器:依赖于servlet容器,在实现上基于函数回调,可以对几乎所有请求进行过滤 拦截器:依赖于w…

    数据库 2023年6月16日
    080
  • 博客园美化-随季节变化实现不同的飘落效果

    最近在研究博客园的美化效果,看到有一个樱花飘落的效果,忽然突发奇想,如果能根据当前日期所处的季节实现不同的飘落效果岂不是更酷。😂 最近在研究博客园的美化效果,看到有一个樱花飘落的效…

    数据库 2023年6月6日
    0109
  • Go编译过程

    一、 Go编译流程 二、过程说明 词法解析 读取Go源文件,将字符序列转换为符号(token)序列,比如将”:=”转换为_Define 代码中的标识符、关键…

    数据库 2023年6月14日
    082
  • Java绘图基础

    Graphics 绘图类 Graphic是一个抽象的画笔对象,可以在组件上绘制丰富多彩的几何图形和位图。Graphics类封装了Java支持的基本绘图操作所需的属性,主要包括 颜色…

    数据库 2023年6月16日
    083
  • IDEA 快捷键

    普通快捷键 分类 说明 快捷键 代码提示 代码提示或自动补全 Alt + / 代码提示 Ctrl + Alt + Space 提示方法参数类型 Ctrl + P 提示注释文档 Ct…

    数据库 2023年6月6日
    082
  • 1291. 顺次数

    我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1 的整数。 请你返回由 [low, high] 范围内所有顺次数组成的 有序 列表(从小到大排序)。 示例 1: 输出:…

    数据库 2023年6月16日
    077
  • 一时兴起,写了个寻路代码

    看到一个面试题,是有关寻路的,于是想练练手,自己也写一个。 把地图坐标设计为二维数据,坐标点的值代表不同意义。 先上代码: 1 import java.util.ArrayList…

    数据库 2023年6月14日
    0104
  • 解决:MyBatis-plus多数据源方法上方添加事务,数据源切换失败

    说明:MyBatis-plus配置了多数据源,添加事务后,数据源切换失败了… 一、场景描述 项目当中使用的多数据源,Impl中有个方法:MethodA。 @Servic…

    数据库 2023年6月6日
    090
  • 我是个怎样的人

    我是一个怎样的人 我是一个怎样的人, 我是一个虚伪的人. 我麻木的观察着这个世界, 对好坏, 真假, 我都去同样看待, 不去区分. 我是一个怎样的人, 我是一个善良的人. 我温柔的…

    数据库 2023年6月9日
    089
  • jdbc-使用java连接mysql

    package com.cqust; import com.mysql.jdbc.Driver; import java.sql.Connection;import java.sq…

    数据库 2023年5月24日
    065
  • postman结合newman生成测试报告

    1. cmd窗口安装newman npm install -g newman 2. cmd窗口安装newman-html报告 nnpm install -g newman-repo…

    数据库 2023年6月14日
    0103
  • 2022CNAS能力验证-存在性

    背景 警方接到报案称有人利用无人机投放非法宣传材料,根据线索找到一处住宅,搜查发现无人机、智能电视机、小型网络设备等电子设备,提取了电子设备数据并对网络设备进行了抓包分析。现委托你…

    数据库 2023年6月11日
    074
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球