本文实例为大家分享了Java实现简单密码加密案例,供大家参考,具体内容如下
需求:
首先将一组数据倒序,然后将每位数字都加上5,再用和除以10的余数代替该数字,
最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数,
然后,把加密后的结果在控制台打印出来。
分析:
1.数据小于8位数
2.数据倒序
3.每位数字都加上5,再用和除以10的余数代替该数字
4.最后将第一位和最后一位数字交换
5.打印输出
代码实现:
public class Encrypt{ public static void main(String[] args){ //定义小于8位的数据 int number = 123456; //定义一个数组,,小于8位 int[] arr = new int[8]; //将定义的数据,进行倒序 int index = 0; while(number > 0){ //数据求余运算,将余数存储进数组中,第一次运算得到6 arr[index] = number%10; index++; //数据除10 number /= 10; } //每位数字都加上5,再用和除以10的余数代替该数字 for(int x = 0;x<index;x++){ arr[x] += 5; arr[x] %= 10; } //最后将第一位和最后一位数字交换 int temp = arr[0]; arr[0] = arr[index-1]; arr[index-1] = temp; //输出数据 for(int x = 0;x<index;x++){ System.out.println(arr[x]); } } }
运行结果:
可进行优化:
- 通过键盘输入数据(小于八位)
- 通过调用方法的方式
import java.util.Scanner; public class Encrypt { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入密码(小于八位):"); int number2 = sc.nextInt(); String result = Encrypt(number2); System.out.println("加密后的密码:"+result); } //字符串类型 public static String Encrypt(int number2){ int []arr = new int[8]; int index = 0; while (number2 > 0) { arr[index] = number2 % 10; index++; number2 /= 10; } for (int x = 0; x < index; x++) { arr[x] += 5; arr[x] %= 10; } int temp = arr[0]; arr[0] = arr[index - 1]; arr[index - 1] = temp; //把数组元素拼接成字符串返回 //定义一个空字符串 String s = ""; for (int x = 0;x<index;x++){ s += arr[x]; } return s; } }
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自学编程网。
- 本文固定链接: https://zxbcw.cn/post/182132/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)