资源简介

用C语言设计的仿射密码,在VC6.0上可以运行,效果不错

资源截图

代码片段和文件信息

#include  
#include   
#include  

int gcd(int a int b) /*辗转相除法求ab的最大公因数*/ 

int k = 0; 

do 

k = a%b; 
a = b; 
b = k; 
}while(k!=0); 
return a; 


int Ni(int a int b) /*求a相对于b的逆*/ 

int i = 0; 
while(a*(++i)%b!=1); 
return i; 


void Affine() /*仿射密码*/ 

char c[100]; 
int length i=0 ka=0 kb=0 tmp; 
 

printf(“仿射密码:\n输入一个加密语句: “); 
gets(c);  
length = strlen(c); 
printf(“输入两个数字: “); 
scanf(“%d%d“ &ka &kb); 
getchar();/*getchar()的作用:通常你在输入数字之后会按一个空格或者是回车
getchar()就是把这个字符读入进去防止这个字符 
影响后续程序的操作. */ 
if(gcd(ka26)!=1) 

printf(“密码输入错误!\nPress any key to return...“); 
return; 

/*************仿射加密***********/
for(i=0; i
if(c[i]>96&&c[i]<123)           /*如果是小写字母*/  
c[i] = (ka*(c[i]-97)+kb)%26+65;

else if(c[i]>64&&c[i]<91)       /*如果是大写字母*/
c[i] = (ka*(c[i]-65)+kb)%26+65; 

printf(“加密结果是: %s\n“ c);       
/***********仿射解密***********/
for(i=0; i
if(c[i]>64&&c[i]<91) 

tmp = Ni(ka26)*((c[i]-65)-kb); 
if(tmp<0) 
c[i] = tmp%26+26+97; 
else 
c[i] = tmp%26+97; 

}                             
getch(); 


 
void main() 

Affine();
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      33792  2011-04-08 15:29  仿射密码\Debug\vc60.idb

     文件      45056  2011-04-08 15:28  仿射密码\Debug\vc60.pdb

     文件     167992  2011-04-08 15:29  仿射密码\Debug\仿射密码.exe

     文件     184352  2011-04-08 15:29  仿射密码\Debug\仿射密码.ilk

     文件       5774  2011-04-08 15:28  仿射密码\Debug\仿射密码.obj

     文件     219752  2011-04-08 15:28  仿射密码\Debug\仿射密码.pch

     文件     353280  2011-04-08 15:29  仿射密码\Debug\仿射密码.pdb

     目录          0  2011-04-08 15:29  仿射密码\Debug

     文件       1412  2011-04-08 15:28  仿射密码\仿射密码.cpp

     文件       3767  2011-04-08 15:28  仿射密码\仿射密码.dsp

     文件        541  2011-04-08 15:29  仿射密码\仿射密码.dsw

     文件      33792  2011-04-08 15:29  仿射密码\仿射密码.ncb

     文件      48640  2011-04-08 15:29  仿射密码\仿射密码.opt

     文件        756  2011-04-08 15:29  仿射密码\仿射密码.plg

     目录          0  2011-04-08 15:30  仿射密码

----------- ---------  ---------- -----  ----

              1098906                    15


评论

共有 条评论