算法思路:
给出一串明文先判断是否在26个英文字母,然后用明文加上去密钥的得出的数值就是向后移位的位数,用此可以得出密文。而与这种方法相反得出解密的明文。判断给出的字母是不是在26个大小英文字母内,需保证是在26个字母内,使得明文,密钥,密文均在26个字母内。
注意:在编程过程中字符大小写的ACSII值是不同的。
例:明文是wearediscoveredsaveyourself;密钥是deceptive;编程实现对明文的加密及解密。密文是zicvtwqngrzgvtwavzhcqyglmgj。
代码:
#include <stdio.h>
void encryption()
{
int a,b,i=0,j=0;
char x[100],k[10],y[100];
printf("Please input the message:");
gets(x);
printf("\n");
printf("Please the key:");
gets(k);
printf("\n");
a=strlen(x);
b=strlen(k);
strlwr(k);
if(a>b)
{
for(i=0