早教吧作业答案频道 -->其他-->
1.使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。(1)算法描述(2)程序源代码(3)验证结果网络安全的课程设计急啊!
题目详情
1.使用高级语言(C、C++、C#语言)实现一个加密/解密程序,调试并通过该程序。
(1)算法描述
(2)程序源代码
(3)验证结果
网络安全的课程设计 急啊!
(1)算法描述
(2)程序源代码
(3)验证结果
网络安全的课程设计 急啊!
▼优质解答
答案和解析
你们也太麻烦了,下面是我自己写的加密及解密函数,VC6下测试可用!
加密程序源码:
#include
void main()
{
int a[7],i,count,n,temp;
for(i=0;i<75;i++) //输出一行*,75个
printf("*");
printf("\n此程序将把您输入的一个小于8位的数通过一个算法进行加密.\n");
printf("\n\n加密规则如下:\n");
printf("\n\t首先将数据倒序,然后将每位数字都加上5,再用和与10取余代替该数字.\n");
printf("最后将第一位数和最后一位数字交换.\n");
printf("\n\n\t\t\t\t\t\t\tBY:sunflover\n");
for(i=0;i<75;i++)
printf("*");
printf("\n\n请输入需要加密的数:");
scanf("%d",&n);
if(n>0 && n<=9999999) //判断输入的密码是否超出范围,大家可以想办法让他实现n为无穷大
{
for(i=0,count=1;i<7;i++,count++) //把原数据反转并存到数组中,并计算循环次数,n=1234567
{
a[i]=n%10; //a[0]=7,a[1]6,a[2]=5
n=n/10; //n=123456,n=12345,n=1234
if(n==0)
break;
}
for(i=0;i {
a[i]=a[i]+5; //a[0]=7+5=12,a[1]=11,a[2]=10
a[i]=a[i]%10; //a[0]=12%10=2,a[1]=1,a[2]=0
}
temp=a[0]; //交换第一位和最后一位数的位置
a[0]=a[count-1];
a[count-1]=temp;
printf("\n加密后的数是:");
for(i=0;i {
printf("%d",a[i]);
}
printf("\n\n");
}
else
printf("Error!Please try again!\n\n");
}
解密程序源码:
#include
void main()
{
int a[7],i,count,n,temp;
for(i=0;i<75;i++) //输出一行*,75个
printf("*");
printf("\n此程序将把您输入的一个小于8位的数通过一个算法进行解密.\n");
printf("\t解密规则如下:\n");
printf("\n\t首先将第一位数和最后一位数字交换.\n");
printf("\t然后将每位数字都加上5,再用和与10取余.\n");//参考示例,观察规律//如(4+5)%10=9;(9+5)%10=4//再如(5+5)%10=0,(0+5)%10=5
printf("\t最后将数据倒序.\n");
printf("\n\n\t\t\t\t\t\t\tBy:sunflover\n");
for(i=0;i<75;i++)
printf("*");
printf("\n\n请输入需要解密的数:");
scanf("%d",&n);
if(n>0 && n<=9999999) //判断输入的数据是否超出范围,大家可以想办法让他实现n为无穷大
{
for(count=1;count<8;count++) //把数据反转并存到数组中,并计算循环次数,即数据位数
{
a[count-1]=n%10; //已实现将第一位数和最后一位数字交换,但多交换了几位
n=n/10;
if(n==0)
break;
}
for(i=0;i {
a[i]=a[i]+5;
a[i]=a[i]%10;
}
temp=a[0]; //交换第一位和最后一位数的位置,其他位置已经逆序,上面多交换了几位,这样就实现了,数据倒序
a[0]=a[count-1];
a[count-1]=temp;
printf("\n解密后的数是:");
for(i=0;i {
printf("%d",a[i]);
}
printf("\n\n");
}
else
printf("Error!Please try again!\n\n");
getch();
}
经验证很好用。希望能帮上忙。
加密程序源码:
#include
void main()
{
int a[7],i,count,n,temp;
for(i=0;i<75;i++) //输出一行*,75个
printf("*");
printf("\n此程序将把您输入的一个小于8位的数通过一个算法进行加密.\n");
printf("\n\n加密规则如下:\n");
printf("\n\t首先将数据倒序,然后将每位数字都加上5,再用和与10取余代替该数字.\n");
printf("最后将第一位数和最后一位数字交换.\n");
printf("\n\n\t\t\t\t\t\t\tBY:sunflover\n");
for(i=0;i<75;i++)
printf("*");
printf("\n\n请输入需要加密的数:");
scanf("%d",&n);
if(n>0 && n<=9999999) //判断输入的密码是否超出范围,大家可以想办法让他实现n为无穷大
{
for(i=0,count=1;i<7;i++,count++) //把原数据反转并存到数组中,并计算循环次数,n=1234567
{
a[i]=n%10; //a[0]=7,a[1]6,a[2]=5
n=n/10; //n=123456,n=12345,n=1234
if(n==0)
break;
}
for(i=0;i
a[i]=a[i]+5; //a[0]=7+5=12,a[1]=11,a[2]=10
a[i]=a[i]%10; //a[0]=12%10=2,a[1]=1,a[2]=0
}
temp=a[0]; //交换第一位和最后一位数的位置
a[0]=a[count-1];
a[count-1]=temp;
printf("\n加密后的数是:");
for(i=0;i
printf("%d",a[i]);
}
printf("\n\n");
}
else
printf("Error!Please try again!\n\n");
}
解密程序源码:
#include
void main()
{
int a[7],i,count,n,temp;
for(i=0;i<75;i++) //输出一行*,75个
printf("*");
printf("\n此程序将把您输入的一个小于8位的数通过一个算法进行解密.\n");
printf("\t解密规则如下:\n");
printf("\n\t首先将第一位数和最后一位数字交换.\n");
printf("\t然后将每位数字都加上5,再用和与10取余.\n");//参考示例,观察规律//如(4+5)%10=9;(9+5)%10=4//再如(5+5)%10=0,(0+5)%10=5
printf("\t最后将数据倒序.\n");
printf("\n\n\t\t\t\t\t\t\tBy:sunflover\n");
for(i=0;i<75;i++)
printf("*");
printf("\n\n请输入需要解密的数:");
scanf("%d",&n);
if(n>0 && n<=9999999) //判断输入的数据是否超出范围,大家可以想办法让他实现n为无穷大
{
for(count=1;count<8;count++) //把数据反转并存到数组中,并计算循环次数,即数据位数
{
a[count-1]=n%10; //已实现将第一位数和最后一位数字交换,但多交换了几位
n=n/10;
if(n==0)
break;
}
for(i=0;i
a[i]=a[i]+5;
a[i]=a[i]%10;
}
temp=a[0]; //交换第一位和最后一位数的位置,其他位置已经逆序,上面多交换了几位,这样就实现了,数据倒序
a[0]=a[count-1];
a[count-1]=temp;
printf("\n解密后的数是:");
for(i=0;i
printf("%d",a[i]);
}
printf("\n\n");
}
else
printf("Error!Please try again!\n\n");
getch();
}
经验证很好用。希望能帮上忙。
看了 1.使用高级语言(C、C++...的网友还看了以下:
社会治安秩序包括()。A.国家安全秩序B.国家工作秩序 C.社会公共秩序D.公民生活秩序 2020-05-18 …
社会治安秩序包括( )。A.国家安全秩序B.工作秩序C.社会公共秩序D.人民群众生活秩序 2020-05-19 …
不属于治安案件处罚程序的是( )。A.治安案件的调查程序B.治安案件的审查程序C.治安案件处罚的决定 2020-05-19 …
A.内核B.对象管理程序C.安全调度监视D.硬件抽象层 2020-05-26 …
下列属于灾害应急救助的内容的是( )。 A.参与灾后重建B.恢复社区正常的经济秩序C.安 2020-06-04 …
施工过程根据其组织上的复杂程序,可以分为( )。 A.建筑过程 B.工序 C.安装过程 D.综合工 2020-06-07 …
施工过程根据其组织上的复杂程序,可以分为()。 A.建筑过程 B.工序 C.安装过程 D.综合 2020-06-07 …
良好的习惯可以帮助我们有效地保护信息资源,下列行为中,不利于保护信息资源的是()A.对数据定期进行备 2020-11-06 …
.能修改高级语言源程序的是()。.能修改高级语言源程序的是()。A.调试程序B.解释程序C.编译程序 2020-11-23 …
下列()不属于操作系统管理资源A.CUPB程序C.内存D.中断操作系统是计算机系统资源的管理者.下列 2020-12-03 …