⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c

📁 交换加密算法,算法比较简单,但程序还是比较复杂的
💻
字号:
语言_数据加密解密 分类:it's my life2007.5.11 14:53 作者:绝版青春 | 评论:0 | 阅读:801 
/* ****************************************************** */
/* 题目:C实现数据加密                      */
/* 函数manage1:将参数+5/10取其余数返回                 */     
/* 函数manage2:将反转的数组返回                  */
/* 函数manage3:将数据解密                      */
/* @author:eSTAR                           */
/* @version:1.00                            */
/* ****************************************************** */

#include<stdio.h>
#define N 8

int manage1(int);
void manage2(int num[N]);
void manage3(int num[N]);

void main(){

 int num[N];  //存放数据的数组
 int input = 0; //接受用户的输入
 int i = 0;
 
 printf("请输入8位未加密的整数\n");
 for(i=0;i<N;i++){
  scanf("%d",&input);
  num[i] = input; //将输入的数存入数组
 }

 for(i=0;i<N;i++){ //完成加密的第一步
  num[i] = manage1(num[i]);
 }

 printf("输出加密第一步后的数组序列列表\n");
 for(i=0;i<N;i++){
  printf("%d\n",num[i]);
 }

 printf("输出加密第二步后的数组序列列表\n");
 manage2(num);
 for(i=0;i<N;i++){
  printf("%d\n",num[i]);
 }

 manage3(num); //解密
 printf("解密后的数组序列列表\n");
 for(i=0;i<N;i++){
  printf("%d\n",num[i]);
 }
}

int manage1(int num){ //将参数+5/10取其余数返回
 int temp = num+5;
 temp = temp%10;
 return temp;
}

void manage2(int num[N]){ //将反转的数组返回 
 int *ptr_B;
 int *ptr_E;
 int temp;
 ptr_B = &num[0];
 ptr_E = &num[N-1];
 temp = *ptr_B;
 *ptr_B = *ptr_E;
 *ptr_E = temp;
}

void manage3(int num[N]){ //解密函数

 int *ptr_B;
 int *ptr_E;
 int temp;
 ptr_B = &num[0];
 ptr_E = &num[N-1];
 temp = *ptr_B;
 *ptr_B = *ptr_E ;
 *ptr_E = temp; //数组反转ok

 for(int i=0;i<N;i++){
  num[i] = num[i]-5;
 }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -