| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 945 人关注过本帖
标题:[转载]凯撒密码解密系统
取消只看楼主 加入收藏
提灯寻影
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2005-4-7
收藏
 问题点数:0 回复次数:0 
[转载]凯撒密码解密系统
/*****************************************************/

/* 凯撒密码解密系统 */

/* 主要功能: */

/* 运用穷举法实现凯撒加密密码的破译 */

#include <stdio.h>

void main()
{
int i,k,t;
char j,temp[26],m[22];
char c[22]={'j','b','c','r','c','l','q','w','c','r',
'v','n','b','j','e','n','b','w','r','w',
'n'};


for(i=1,j='a';i<=26,j<='z';i++,j++)
{
temp[i]=j;
}

for(k=1;k<=26;k++)
{
printf("the %dth result is: ",k);

for(i=0;i<22;i++)
{
for(t=1;t<=26;t++)
{
if(c[i]==temp[t])
{
if(t-k>0)
t=(t-k)%26;
else if(t-k<0)
t=(t-k+26)%26;
else
t=26;
m[i]=temp[t];
break;
}

}
printf("%c",m[i]);
}
printf("\n");
}
}



凯撒大帝曾用一种初级的密码来弄乱他传达的消息。对那些他认为能够分享密码的人,便告诉他们如何重新组合回原来的消息。这种密码便是著名的“凯撒密码”。这是一个古老的加密方法,当年凯撒大帝行军打仗时用这种方法进行通信,因此得名。它的原理很简单,其实就是单字母的替换。让我们看一个简单的例子:“This is Caesar Code”。用凯撒密码加密后字符串变为“vjku ku Ecguct Eqfg”。看起来似乎加密得很“安全”。可是你可以尝试一下,把这段很难懂的东西每一个字母换为字母表中前移2位的字母……哦,结果出来了。凯撒密码的字母对应关系:

A b c d e f g h i … x y z

C d e f g h I j k … z a b


单表置换的一个特例而已。

[此贴子已经被作者于2006-4-21 1:16:30编辑过]

搜索更多相关主题的帖子: 凯撒密码 系统 解密 void 
2006-04-21 01:16
快速回复:[转载]凯撒密码解密系统
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016302 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved