900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C语言指针实现凯撒加密

C语言指针实现凯撒加密

时间:2020-08-03 21:24:12

相关推荐

C语言指针实现凯撒加密

凯撒加密是一种替换加密的技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。例,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。

加密密钥即字母向后的偏移量

#include<stdio.h>#define N 100void lock(char *p,int i);void unlock(char *p,int i);int main(){int i;char a[N];printf("请输入需加密内容:");gets(a);printf("加密密钥:");scanf("%d",&i); lock(a,i);puts(a); unlock(a,i);//输出解密后的内容检验其是否与加密前一致puts(a);return 0;}void lock(char *p,int i)//加密函数{for(;*p!='\0';p++){if(*p==' ')continue;else if((*p>='A'&&*p<='Z')||(*p>='a'&&*p<='z')){*p=*p+i;if(*p>'Z'&&*p<='Z'+i)*p=*p-'Z'-1+'A';if(*p>'z')*p=*p-'z'-1+'a';}}}void unlock(char *p,int i)//解密函数{for(;*p!='\0';p++){if(*p==' ')continue;else if((*p>='A'+i&&*p<='Z')||(*p>='a'+i&&*p<='z')){*p=*p-i;}else if(*p>='A'&&*p<'A'+i)*p=*p-i+1+25;else if(*p>='a'&&*p<'a'+i)*p=*p-i+1+25;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。