Playfair算法Word文件下载.docx
《Playfair算法Word文件下载.docx》由会员分享,可在线阅读,更多相关《Playfair算法Word文件下载.docx(7页珍藏版)》请在冰点文库上搜索。
%d"
'
z'
);
printf("
密钥:
"
scanf("
%s"
key);
length=strlen(key);
for(i=0;
i<
length;
i++)
if(key[i]=='
j'
)
key[i]='
i'
;
}
for(j=i+1;
j<
j++)
if(key[i]==key[j])
for(intt=j;
t<
t++)
key[t]=key[t+1];
}
j--;
length--;
if(j==1)
key[j]=0;
break;
//printf("
%d\n"
length);
for(i=0;
26;
voa[i]=65+i;
key[i]=key[i]-32;
charp;
intcount=0;
p=voa[i];
for(j=0;
if(p==key[j])
{
key[i+length]=p;
count+=1;
//printf("
count);
if(j==length)
key[i+length-count]=p;
//////////////////////////////////////
intu=0;
J'
for(u=i;
u<
u++)
key[u]=key[u+1];
I'
*'
%c"
word[i]);
temp=0;
5;
table[i][j]=key[j+temp];
printf("
%c"
table[i][j]);
if(j==4)
temp+=5;
\n"
明文:
word);
length=strlen(word);
intcounter=0;
if(word[i]==word[i+1])
i+=1;
counter+=1;
else
i+=2;
1:
length+counter);
length+counter;
i+=2)
for(j=length+counter-1;
j>
i+1;
j--)
word[j]=word[j-1];
word[i+1]='
x'
length=length+counter;
if(length%2!
=0)
word[length]='
length+=1;
for(k=0;
k<
k++)
word[k]=word[k]-32;
if(word[i]=='
||word[i]=='
word[i]='
count=0,k=0;
loop:
5,k<
//k=k-2;
for(m=0;
m<
m++)
for(n=0;
n<
n++)
if((table[i][j]==word[k])&
&
(table[m][n]==word[k+1])&
(i==m))
count=1;
word[k]=table[i][j+1];
word[k+1]=table[m][n+1];
word[k]=table[i][0];
//break;
if(n==4)
word[k+1]=table[m][0];
%c%c%d"
word[0],word[1],k);
//Sleep(1000);
k+=2;
if(count==1)
gotoloop;
elseif((table[i][j]==word[k])&
(j==n))
word[k]=table[i+1][j];
word[k+1]=table[m+1][n];
if(i==4)
word[k]=table[0][j];
if(m==4)
word[k+1]=table[0][n];
2:
%c%c"
word[0],word[1]);
(i!
=m)&
(j!
=n))
word[k]=table[i][n];
word[k+1]=table[m][j];
3:
密文:
word[k]);
\n\n"
system("
pause"
return0;