資源簡介
自己編寫的一個轉輪密碼機程序,很基礎,便于理解轉輪密碼機的工作原理

代碼片段和文件信息
#include
#include
void?Move(int?q[][26])?//轉輪旋轉函數
{
????int?ijtemp;
????temp=q[0][25];
????for(i=24;i>=0;i--)
????{
????????q[0][i+1]=q[0][i];
????}
????q[0][0]=temp;
????temp=q[1][25];
????for(i=24;i>=0;i--)
????{
????????q[1][i+1]=q[1][i];
????}
????q[1][0]=temp;
}
int?Find(int?pint?s[][26]int?m[][26]int?q[][26])?//明文與密文對照函數?已知明文找到對應的密文
{
????int?ij=0k=0;
????for(i=0;i<26;i++)
????{
????????if(s[1][i]==p)
????????{
????????????for(j=0;j<26;j++)
????????????{
????????????????if(m[1][j]==m[0][i])
????????????????{
????????????????????for(k=0;k<26;k++)
????????????????????{
????????????????????????if(q[1][k]==q[0][j])
????????????????????????{
????????????????????????????return?k;
????????????????????????}
????????????????????}
????????????????}
????????????}
????????}
????}
}
int?main()
{
????//三個轉輪
????int?slow[2][26]={{2425261234567891011121314151617181920212223}
????{2131511910142620816722411517912231822562413}};
????int?mid[2][26]={{2612345678910111213141516171819202122232425}
????{2016415314122351622219111825241371082192617}};
????int?quick[2][26]={{1234567891011121314151617181920212223242526}
????{8182617202210313114235249122516196152127114}};
????char?a1[30]b1[30];?//a1、b1分別存放輸入輸出字符
????int??a2[30]b2[30];?//b1、b2分別存放輸入輸出時轉換成的數字
????int?ni=0j=0;
????int?ts=0tm=0tq=0;?//計算次數
????printf(“請輸入大寫英文字母:?\n“);
????gets(a1);
????n=strlen(a1);
????for(i=0;i ????{
????????a2[i]=a1[i]-‘A‘;
????????a2[i]=slow[0][a2[i]];
????????b2[j]=Find(a2[i]slowmidquick);
????????b1[j]=b2[j]+‘A‘;
????????j++;
????????tm++;???????????//轉輪計數
????????Move(quick);
????????if(tm==26)
????????{
????????????ts++;
????????????Move(mid);?tm=0;
????????????if(ts==26)
????????????{
????????????????Move(slow);?ts=0;
????????????}
????????}
????}
????b1[j]=‘\0‘;
printf(“得到的密文為:\n“);
puts(b1);
printf(“\n“);
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????2202??2013-03-13?21:12??zhuanlunmima.c
- 上一篇:dht11的12864顯示程序
- 下一篇:超簡潔的js日期選擇控件
評論
共有 條評論