凯撒密码的加密
#include <stdio.h>int main(){char a[80],b[80];//a为原码,b为加密int i,k;scanf("%d",&k);gets(a);while(a[i]!='\0'){if(a[i]>='a'&&a[i]<='z'){b[i]=a[i]+k;if(b[i]>'z')b[i]-=26;}elseif(a[i]>='A'&&a[i]<='Z'){b[i]=a[i]+k;if(b[i]>'Z')b[i]-=26;}else b[i]=a[i];i++;}b[i]='\0';puts(b);}
凯撒解密
#include <stdio.h>void main(){char a[80],b[80];//a为原码,bint i,k;scanf("%d",&k);gets(b);while(b[i]!='\0'){if(b[i]>='a'&&b[i]<='z'){a[i]=b[i]-k;if(a[i]<'a')a[i]+=26;}elseif(b[i]>='A'&&b[i]<='Z'){a[i]=b[i]-k; if(a[i]<'A')a[i]+=26; }else a[i]=b[i]; i++;}a[i]='\0';puts(a);}
凯撒密码暴力破解
#include <stdio.h>int main(){char a[80],b[80];//a为原码,b为加密int i=0,k;gets(b);for(k=0;k<27;k++){i=0;whlie(b[i]!='\0'){if(b[i]>='a'&&b[i]<='z'){a[i]=b[i]-k; if(a[i]<'a')a[i]+=26;}elseif(b[i]>='A'&&b[i]<='Z'){a[i]=b[i]-k; if(a[i]<'A')a[i]+=26;} else a[i]=b[i]; i++; } printf("k=%d",k);a[i]='\0'; puts(a);}}