91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .cpp
    金幣: 1
    下載: 1 次
    發布日期: 2021-07-05
  • 語言: C/C++
  • 標簽: 維吉尼亞??

資源簡介

在單一愷撒密碼的基礎上,法國外交家布萊斯·德·維吉尼亞(Blaise de Vigenère)發明了一種方法來對同一條信息中的不同字母用不同的密碼進行加密。這樣,同樣的E在一個位置可能被M所取代,而在另一個位置的E則有可能以K的面目出現。這樣,就可以防止任何人利用頻率分析法解密該條信息。

資源截圖

代碼片段和文件信息

在單一愷撒密碼的基礎上,法國外交家布萊斯·德·維吉尼亞(Blaise?de?Vigenère)發明了一種方法來對同一條信息中的不同字母用不同的密碼進行加密。這樣,同樣的E在一個位置可能被M所取代,而在另一個位置的E則有可能以K的面目出現。這樣,就可以防止任何人利用頻率分析法解密該條信息。
#include?
#include
void?encryption();
void?decryption();
void?encryption()
{
?
??int?ij;
??char?p[80]k[80]c[80];
??printf(“請輸入明文:\n“);
???gets(p);
?
??printf(“請輸入密鑰(范圍為a-zA-Z):\n“);
??gets(k);
??for(i=0;k[i]!=‘\0‘;i++)
??while((k[i]<‘a‘||k[i]>‘z‘)&&(k[i]<‘A‘||k[i]>‘Z‘))
??{
?
??????printf(“您的輸入有誤,請重新輸入密鑰:\n“);
??????gets(k);
???
}
?
???for(i=0j=0;p[i]!=‘\0‘&&k[j]!=‘\0‘;i++j++)
???if((p[i]<‘a‘||p[i]>‘z‘)&&(p[i]<‘A‘||p[i]>‘Z‘))
???{
c[i]=p[i];
}
?
???else
???{
?
?????if(p[i]>=‘A‘&&p[i]<=‘Z‘)
?????{
p[i]+=32;?
}
?????if(k[j]>=‘A‘&&k[j]<=‘Z‘)
?????{
k[j]+=32;?
}
?????c[i]=(k[j]-‘a‘+(p[i]-‘a‘))%26+‘a‘-32;
????
}
???while(k[j]==‘\0‘)
???{
?
?????for(ij=0;p[i]!=‘\0‘&&k[j]!=‘\0‘;i++j++)
?????if((p[i]<‘a‘||p[i]>‘z‘)&&(p[i]<‘A‘||p[i]>‘Z‘))
?????{
c[i]=p[i];
}
?????else
?????{
?
???????if(p[i]>=‘A‘&&p[i]<=‘Z‘)
???????{
p[i]+=32;?
}
????????if(k[j]>=‘A‘&&k[j]<=‘Z‘)
????????{
k[j]+=32;?
}
????????c[i]=(k[j]-‘a‘+(p[i]-‘a‘))%26+‘a‘-32;
??????
}
????
}
???c[i]=‘\0‘;
???printf(“使用vigenere密碼加密后的密文為:\n“);
???puts(c);
?
}

void?decryption

評論

共有 條評論