简单数组简单加解密

 1 /**
 2  * 需求:系统数字加密,1983 ,采用加密方/解密式传输
 3  * 先得到每一位数字,然后 +5 在对 10 求余,最后将所有数字反转,得到一串新数字
 4  */
 5 public class Demo {
 6     public static void main(String[] args) {
 7 
 8         //  定义一串需要加密的数组
 9         int[] arr = new int[]{1, 9, 8, 3};
10         enCode(arr);
11 
12         //  解密
13         int[] arr2 = new int[]{8, 3, 4, 6};
14         deCode(arr2);
15     }
16 
17     public static void enCode(int[] arr){
18         //  按照每个数进行加密规则
19         for (int i = 0; i < arr.length; i++) {
20             arr[i] = (arr[i] + 5) % 10;
21         }
22 
23         //  数组反转
24         for (int i = 0, j = arr.length - 1; i < j; i++ ,j--) {
25             int tmp = arr[j];
26             arr[j] = arr[i];
27             arr[i] = tmp;
28         }
29 
30         //  遍历输出
31         for (int i = 0; i < arr.length; i++) {
32             System.out.print(i == arr.length - 1 ? arr[i] : arr[i] + ", ");
33         }
34 
35         System.out.println("\n");
36     }
37 
38     //  解密
39     public static void deCode(int[] arr){
40 
41         //  数组反转
42         for (int i = 0, j = arr.length - 1; i < j; i++ ,j--) {
43             int tmp = arr[j];
44             arr[j] = arr[i];
45             arr[i] = tmp;
46         }
47 
48         //  按照每个数进行规则解密
49         for (int i = 0; i < arr.length; i++) {
50             arr[i] = ((arr[i] - 5) + 10) % 10 ;
51         }
52 
53         //  遍历输出
54         for (int i = 0; i < arr.length; i++) {
55             System.out.print(i == arr.length -1 ? arr[i] : arr[i] + ", ");
56         }
57     }
58 }

 

posted @ 2024-01-19 17:12  小※兽  阅读(17)  评论(0)    收藏  举报