今天学了凯撒密码(单表密码),写个明密文对偶表来看看
2009-09-07 15:32
561 查看
#include<stdio.h>
void main()
{
char a[26]={'a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},b[26];
int i,j,k;
clrscr();
printf("Please input the No. you want to move(0<=j<=25):/t");
scanf("%d",&j);
for(i=0;i<=25;i++)
{
k=(i+j)%26;
b[i]=a[k];
}
for(i=0;i<=25;i++)
{
printf("%c ",a[i]);
}
printf("/n");
for(i=0;i<=25;i++)
{
printf("%c ",b[i]);
}
getch();
}
原理其实很简单,就是字母表中各个元素移位,就这些。
顺便写上加密的代码,还不能对句子进行加密,只能单词,但是支持大小写,同样的大写加密规律同小写的是一样的,同样移位。
#include<stdio.h>
#include<ctype.h>
void main()
{
char a[26]={'a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},b[26],*c,d[26];
int i,j,k;
clrscr();
printf("Please input the No. you want to move(0<=j<=25):/t");
scanf("%d",&j);
for(i=0;i<=25;i++)
{
k=(i+j)%26;
b[i]=a[k];
}
for(i=0;i<=26;i++)
{
d[i]=b[i]-32;
}
for(i=0;i<=25;i++)
{
printf("%c ",a[i]);
}
printf("/n");
for(i=0;i<=25;i++)
{
printf("%c ",b[i]);
}
printf("/nPlease input the String you want to Encrypt:/t");
scanf("%s",c);
for(;*c!='/0';c++)
{
if(isalpha(*c)){
if(islower(*c))
*c=b[*c-97];
else *c=d[*c-65];
}
}
printf("The Encrypted Sting is:/t%s");
getch();
}
下面实验截图:
每天进步一点点~~
void main()
{
char a[26]={'a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},b[26];
int i,j,k;
clrscr();
printf("Please input the No. you want to move(0<=j<=25):/t");
scanf("%d",&j);
for(i=0;i<=25;i++)
{
k=(i+j)%26;
b[i]=a[k];
}
for(i=0;i<=25;i++)
{
printf("%c ",a[i]);
}
printf("/n");
for(i=0;i<=25;i++)
{
printf("%c ",b[i]);
}
getch();
}
原理其实很简单,就是字母表中各个元素移位,就这些。
顺便写上加密的代码,还不能对句子进行加密,只能单词,但是支持大小写,同样的大写加密规律同小写的是一样的,同样移位。
#include<stdio.h>
#include<ctype.h>
void main()
{
char a[26]={'a','b','c','d','e','f','g','h', 'i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'},b[26],*c,d[26];
int i,j,k;
clrscr();
printf("Please input the No. you want to move(0<=j<=25):/t");
scanf("%d",&j);
for(i=0;i<=25;i++)
{
k=(i+j)%26;
b[i]=a[k];
}
for(i=0;i<=26;i++)
{
d[i]=b[i]-32;
}
for(i=0;i<=25;i++)
{
printf("%c ",a[i]);
}
printf("/n");
for(i=0;i<=25;i++)
{
printf("%c ",b[i]);
}
printf("/nPlease input the String you want to Encrypt:/t");
scanf("%s",c);
for(;*c!='/0';c++)
{
if(isalpha(*c)){
if(islower(*c))
*c=b[*c-97];
else *c=d[*c-65];
}
}
printf("The Encrypted Sting is:/t%s");
getch();
}
下面实验截图:
每天进步一点点~~
相关文章推荐
- 您的密码还是123456吗?看看目前最流行密码
- iOS 密码密文
- 今天学习配置tomcat连接池。。。出现了这个异常。。。请大家帮忙看看。。。先谢了。。。
- 今天进网易社区看到一幕,网易让人黑了.弄了个图大家来看看.
- 需求:实现数据库密码通过密文的方式存储在配置文件中
- 今天实在忍不住,把极速星空的密码给破了
- 今天刚刚开通博客,来看看
- linux实战考试题:批量创建用户和密码-看看你会么
- 今天上班,头让我写个项目出了看看
- 今天给大家说一个我做UI特效的小技巧,先来看看效果吧(录屏有点渣,所以质量有折扣)
- MySQL5.7.21(免安装版,压缩包版本) 安装与密码图文配置教程(今天亲测有效)
- UITextField 密码明文及密文切换问题
- cisco密码 密文加密设置问题!
- 单表代换密码(凯撒密码)
- 【每日一题(5)】密码(凯撒密码) FZU - 1489 (福州大学第四届程序设计竞赛题)
- 密码明文密文显示
- 今天我收到了精美的礼物,发个PP给大家看看。
- [幽默]今天看了几页c语言入门,想写个ERP, 帮我看看 技术上还差些什么?
- 维吉尼亚密码--在简单加密方式凯撒密码基础上的一个改进
- 来看看破解你的密码需要多长时间