分享一个小程序

某个人使用公共电话传递密码,为了保证安全,传递的时候进行加密

加密规则如下:
先把数据倒序
然后给密码中的每个数字加5,再用除以10的余数代替该数字
最后再把第一个数字和最后一个数字交换位置。
这个密码是一个小于8位的整数。请编写代码,通过键盘输入一个密码
返回加密后的结果。

先来一波俺的分析

我们先分析一下这个题目,他这里说到了三个要求,第一个数据倒序,第二个加五取余十,第三个是头尾交换。

那我们可以看出来,在代码主体肯定要有三个小代码块来实现这三个功能。首先我们来写一写第一个–将数据倒序:

对于我来说,在目前的java学习过程中可能能想到的数据倒序也就是数组倒序了。但我们所要加密的密码是一个不大于8位的整数,也就是说我们并没有可以拿来进行倒序的数组。

怎么办呢?我的办法是设置一个数组,并且将我们得到的密码的个位、十位、百位…等各个数位的数字提取出来让他存入数组中,同时,我们还可以顺便将倒序工作给完成了!

 int[] arr = new int[noc];//设置新的数组,noc为number of code,指密码的数字数量int temp;for(int i=0;i<noc;i++) {temp=code%10;//这里取余,得到个位上的数arr[i] = temp;//接着把密码的最后一位--个位上的数塞到数组的第一位里code=code/10;//然后除个十就可以把个位给删掉啦}

这样的话,我们就可以成功地将密码的每一位数字塞到我们的数组里了。细心的你们可能发现了,我在做这一步的时候,已经完成了倒序操作,因为个位作为密码的最后一位,我将它存入了数组的第一位,后面的循环也在进行同样的过程,使得我们成功的完成了第一个要求。

相较于第一个要求,第二个要求就相对简单了,还是熟悉的循环操作,然后我们将数组的每一位都提出来进行数字转换。

for(int i=0;i<arr.length;i++) {arr[i]=(arr[i]+5)%10;}

好啦,现在进行第三步,也就是将首尾数字进行调换。直接上代码:

 temp=arr[0];arr[0]=arr[noc-1];arr[noc-1]=temp;

具体的三个功能块就算是圆满的完成啦,但是我们作为一个密码加密程序,我们并不知道我们得到的密码到底是一个几位的密码,也就是说在输入密码之前,我们无法知道我们设定的noc(number of code)的值是多少,所以我想了一个办法,在密码输入之后对这个密码先进行一个小小的处理,再进入我们的三个功能块。

 int code2 = code;//我们设置一个特殊密码code2用来判断noc,同时不影响原来的密码codewhile(code2>0) {code2=code2/10;noc++;

这样的话,我们就可以得到我们的密码的个数。在后面的功能块中,就可以肆无忌惮的用我们得到的noc啦!

下面是我的全部代码:

import java.util.Scanner;public class CodepassingTool {public static void main(String args[]) {System.out.println("请输入你需要传输的密码:");Scanner sc = new Scanner(System.in);int code = sc.nextInt();if (code > 99999999) {System.out.println("对不起,你输入的密码不符合要求");} else {int noc = 0;// numberofcodeint temp = 0;int code2 = code;while (code2 > 0) {code2 = code2 / 10;noc++;}int[] arr = new int[noc];for (int i = 0; i < noc; i++) {temp = code % 10;arr[i] = temp;code = code / 10;}for (int i = 0; i < arr.length; i++) {arr[i] = (arr[i] + 5) % 10;}temp = arr[0];arr[0] = arr[noc - 1];arr[noc - 1] = temp;System.out.println("最终加密过的密码如下:");for (int i = 0; i < arr.length; i++) {System.out.print(arr[i]);}}}
}

如果有大佬们想到什么更好的更便捷的代码设计,或者我有什么没有发现的错误,欢迎来指正交流嗷!

小程序:密码加密加工器相关推荐

  1. 微信小程序RSA加密与 Java RSA加密结果相同

    业务需要,小程序上送到后台的数据需要使用RSA加密,后台返回的数据需要RSA解密.折腾了好久,微信小程序的加解密结果始终不一样.终于解决这问题记录一下. PS:后续使用过程中,发现小程序加密内容过长的 ...

  2. uni-app 实现小程序rsa加密(非对称加密原理)

    uni-app 小程序 rsa 加密 使用的是 jsencrypt main.js文件 //引入js文件 import security_http_config from './common/secu ...

  3. html5音乐播放器设计论文,基于微信小程序的音乐播放器设计和毕业论文

    摘  要 随着通信技术的发展和智能设备的普及,移动互联网在近两年发展迅猛,新兴的移动社交软件"微信"逐渐走进了手机用户的生活,深受全国数亿用户的欢迎.随着微信版本的不断更新,微信也 ...

  4. 微信小程序+.NET(十一) 小程序之小说阅读器实现

    微信小程序之小说阅读器实现 效果: 1.首先添加自定义导航栏: 参照上一篇:   微信小程序+.NET(十) 小程序之自定义顶部导航栏 添加component并依次配置app.json => X ...

  5. 第7课 微信小程序实现图片搜索器案例:

    第7课 微信小程序实现图片搜索器案例: 效果图如下: 手机运行效果: 来我们来看看代码的全局样式: 首先在app.json内的pages把需要的index1.index2页面注册 之后我们只需写ind ...

  6. 微信小程序实现音乐播放器(2)

    文章目录 前情提要 BackgroundAudioManager API:wx.setNavigationBarTitle() 搭建静态资源服务器 小程序项目 app.json app.wxss pa ...

  7. 许嵩音乐智能问答系统微信小程序之音乐播放器

    许嵩音乐智能问答系统微信小程序之音乐播放器 - 项目简介 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 你还 ...

  8. 微信小程序实现音乐播放器(3)(使用全局数据实现数据共享)

    文章目录 前情提要 搭建静态资源服务器 小程序项目 app.json app.js app.wxss pages/index/index.json pages/index/index.wxml pag ...

  9. 微信小程序实现音乐播放器(5)

    文章目录 前情提要 pubsubjs实现页面通信 moment.js实现时间格式化 BackgroundAudioManager 小程序项目 app.json app.wxss app.js page ...

最新文章

  1. 赠书 | 详解 4 种爬虫技术
  2. 红盟idc技术培训群—安全培训(三)
  3. 超全荧光定量PCR应用常见问题
  4. 【NLP】GloVe的Python实现
  5. javaweb 导出文件名乱码的问题解决方案
  6. java 匹配最后一次出现的字符_在Java中查找字符串中字符的最后一次出现
  7. Python decorator
  8. CKEditor4.7怎样实现上传图片,浏览服务器(无需ckfinder),nodejs图片管理,字体居中,图片居中(超详细)...
  9. Atitit..net clr il指令集 以及指令分类  与指令详细说明
  10. python打包的exe反编译_python打包exe反编译源码
  11. JavaScript学习手册一
  12. 看大师讲解移动互联网前端开发流程
  13. 写入clickhouse效率低总结
  14. 自动设置微信朋友圈权限
  15. mac book pro 安装网络准入后经常死机
  16. 管理工具-生产管理系统Mes
  17. BZOJ 4043 [Cerc2014] Vocabulary
  18. 使用turtle 绘制正方形和圆
  19. java类编来那个初始化顺序_java类的初始化顺序
  20. 2021届秋招嵌入式软件开发(联发科、海康威视、浙江大华、高德红外、汇顶科技、瑞芯电子、深圳有为)

热门文章

  1. ggplot2日期时间标度的设置
  2. unity学习途中奇奇怪怪的问题——Unity打不开VS的问题
  3. 大数据算法识别高自杀风险人群?准确率高得吓人
  4. 英国女王正式宣布开启国家网络安全中心
  5. Win8.1 kb2919355安装不上怎么办?
  6. Shell基础(四):字符串截取及切割、字符串初值的处理、基使用Shell数组、expect预期交互、使用正则表达式...
  7. Python项目 外星人入侵游戏
  8. 怎样对论文重复率进行检查
  9. 【MySQL】mysql:重复数据查询 sql
  10. 【运筹学】企业最重要的部分-预测和决策