某个公司利用报文传递数据,采用密钥加密与解密

来源:百度知道 编辑:UC知道 时间:2024/05/18 18:37:53
数据内容(限于英文字母)以字符形式读入,根据密钥k(用户从键盘输入)每位数据根据ascII值都加上k,然后用和除以10的余数代替该数据。将对应字符进行加密。解密时方向相反。请输出加密数据然后按规则复原。

帮忙编一个C语言程序
急啊

/**********
数据加密
*********/
#include <stdio.h>
/* 主程序 */
void main()
{
/* 定义变量 */
long int x;
/* 定义循环次数,ci记录输入的数有几位 temp 临时储存*/
int i,ci,temp;
/* 定义1 个数组 */
int a[7];
/* 中文运行 */
system("graftable 936");
clrscr();
/* 提示输入 */
printf("请输入你要加密的数:\n");
/* 接受数据 */
scanf("%ld",&x);
/* 初始化次数为0 */
ci=0;
/* 循环条件 */
for (i=0;i<=ci;i++)
{

/* 计算余数,并将数值赋予数组 */
a[i]=x%10;
/* 除去最后为 */
x =x/10;
/* 每运行1次循环,次数+1 */
ci++;
/* 如果如果该数 等于0 说明已经是个位了 */
if(x == 0)
{

/* 跳出循环 */
break;
}

}
/* 循环 计算+5 和磨10 的余数 */
for (i=0;i<ci;i++)
{
a[i]=(a[i]+5)%