| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 963 人关注过本帖
标题:[求助]数据加密题。
只看楼主 加入收藏
jojo8342
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-5
收藏
 问题点数:0 回复次数:19 
[求助]数据加密题。

某个公司采用公用电话传递数据信息,数据是小于8位数得整数.为了确保安全,在传递过程中要加密.
加密规则如下:
首先将数据倒序,然后将每位数字都加上5,再用和除以10得余数代替该数字,
最后将第一位和最后一位数字交换.
要求通过程序实现数据加密过程.

开发工具位Microsoft VisualC++6.0

可用:
变量和数据类型
运算符
while循环
for循环
数组

这道题太抽象了。。
望高手指点 .谢谢.

搜索更多相关主题的帖子: 数据 
2006-12-29 11:06
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
这个也抽象.我来举个例子.比如数据是1234567.
1.7654321-->2109876
2.6109872

void fun1(char *str,int n)//倒序
{
int i,j;
char temp;

for(i=0,j=n-1;i<j;i++,j--)
{
temp=str[i],str[i]=str[j],str[j]=temp;
}
}
void fun2(char *str,int n)
{
int i,s;
for(i=0;i<n;i++)
{
str[i]=(str[i]-'0'+5)%10+'0';
}
}

void fun3(char *str,int n)
{
char temp=str[0];
str[0]=str[n-1],str[n-1]=temp;
}

倚天照海花无数,流水高山心自知。
2006-12-29 11:14
jojo8342
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2006-12-5
收藏
得分:0 
指针!/谢谢,又学到一种方法

2006-12-29 11:23
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
没有用到真正的指针

倚天照海花无数,流水高山心自知。
2006-12-29 11:26
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
`~~fun2中`~~    "-'0'"       "+'0'"      是什么意思啊`~?

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2006-12-29 12:40
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

/*
加密是可以,但
我想这个解密有一点麻烦吧*/

#include<stdio.h>
#include<conio.h>
typedef int dataType; /*自定义数据类型*/
#define MaxSize 20 /*宏定义数组的最大容量*/
void encryptData(int [],int); /*声明数据加密函数*/
void main(void)
{
dataType inData[MaxSize]={1,2,3,4,5,6,7};/*初始化数组*/
int i;

clrscr(); /*清屏*/

for(i=0;i<7;i++) /*显示加密前的数据*/
printf("%d ",inData[i]);

printf("\n");

encryptData(inData,7); /*加密数据,并传入数组的大小*/

for(i=0;i<7;i++) /*显示加密后的数据*/
printf("%d ",inData[i]);

getch(); /*暂停*/
}
void encryptData(dataType inData[],int num)
{
int i;
int temp;

for(i=0;i<num/2;i++) /*把数组倒序*/
{
temp=inData[i];
inData[i]=inData[num-i-1];
inData[num-i-1]=temp;
}

for(i=0;i<num;i++) /*把数组加5的和再对10求余*/
inData[i]=(inData[i]+5)%10;

temp=inData[0]; /*把第一个数和最后一个数对换*/
inData[0]=inData[num-1];
inData[num-1]=temp;
}


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2006-12-29 13:11
senyee
Rank: 1
等 级:新手上路
帖 子:422
专家分:0
注 册:2006-11-28
收藏
得分:0 

数与字符的转换....

菜鸟~~请多指教~~
2006-12-29 13:12
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
在整型数据与字符数据之间进行运算时,
先把,字符数据转换成整型数据,
再进行运算。
例如:
#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
printf("%d",10*('a'));
getch();
}

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2006-12-29 13:21
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 

结果是:
970


wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2006-12-29 13:22
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
但是‘0’的ASCII 是 48
所以:
#include <stdio.h>
#include <conio.h>
void main(void)
{
clrscr();
printf("%d",(10-'0'));
getch();
}

结果是:
-38

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2006-12-29 13:26
快速回复:[求助]数据加密题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024219 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved