简单数组简单加解密
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 }