簡單的給數字加密解密
阿新 • • 發佈:2018-12-10
#include <stdio.h> // 整型 ----> 陣列 int Int_To_Array(int num, int array[]) { int i = 0; int len=0; while (num) { array[i] = num % 10;//將數字一個一個從後到前給陣列 num /= 10; ++i; //i++ ++len; } return len; } // 陣列 ---> 整型 int Array_To_Int(int array[], int len ) { int num=0; int i ; for(i = 0; i < len; i++ ) num = num*10+array[i];//num=num*10+array[i]; return num; } //加密 int JiaMi(int array[], int len) { int i; int temp; for (i = 0; i < len; ++i) array[i] = (array[i]+5) % 10;//加密規則 temp = array[len-1]; array[len-1] = array[0]; array[0] = temp; } //解密 int JieMi(int array[],int len) { int temp; int i; temp = array[len-1]; array[len-1] = array[0]; array[0] = temp; for (i = 0; i < len; ++i) array[i] = (array[i] + 5) % 10; } int main() { int num = 12345678; int array[8]={0}; int i; int len=Int_To_Array(num, array); for(i = 0; i < len; i++) printf("%d",array[i]); printf("\n-------------\n"); JiaMi(array, len); for(i = 0; i < len; i++) printf("%d",array[i]); printf("\n-------------\n"); JieMi(array,len); for(i = 0; i < len; i++) printf("%d",array[i]); printf("\n-------------\n"); num=Array_To_Int(array, len); printf("%d",num); printf("\n-------------\n"); return 0; }
執行結果