凯撒密码中文转换器下载安装(凯撒密码翻译器中文版)

2023-03-01 5:38:15 摩斯密码知识 思思

凯撒密码

我觉得创建26个文件实在太冗杂了。其实一个就够了,因为随着你的选择的改变(比如以9为加密条件,所有字母循环后移9位),目标文件里面的内容就自动更新了。

当然你也可以使用函数 int create(char *filename , int mode) 在执行框里手动输入像 e:\\original.txt 这样的地址字符,但你想象一下,这是不是很麻烦?

在实际加密中,可使用随机函数 rand()产生循环后移位数,而且完全可以不限制在26位,扩展ASCII码可以产生成千上万的字符,将文件加密到那些几乎无规律,难以识别的字符上,安全性就提高了许多。当然还有什么多轮加密之类的。可以自己慢慢摸索,挺有趣的。祝你好运!

修改如下(已成功执行):

#includestdio.h

#includestdlib.h

char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/

{

while(ch='A'ch='Z')

{

return ('A'+(ch-'A'+n)%26);

}

while(ch='a'ch='z')

{

return ('a'+(ch-'a'+n)%26);

}

return ch;

}

void main()

{

FILE *in,*out;

char ch1,ch2;

int i;

printf("Please input the number(1~26) you want to use for encrypt:");

scanf("%d",i);

if((in=fopen("e:\\original.txt","r"))==NULL) /*文件名根据自己建立的位置修改,

我建在e盘的根目录下

{

printf("Can not open this file!\n");

exit(0);

}

if((out=fopen("e:\\encrypt.txt","w"))==NULL) //同上

{

printf("Can not open this file!\n");

exit(0);

}

while(!feof(in)){

if((ch1=fgetc(in))!=EOF)

ch2=encrypt(ch1,i);

fputc(ch2,out);

}

printf("Encrypt is over!\n");

fclose(in);

fclose(out);

}

凯撒密码中文转换器下载安装(凯撒密码翻译器中文版) 第1张

开源项目:凯撒密码转换器

几天前一次和朋友聊天谈到了加密聊天,于是想到了凯撒密码,随之就是想用自己的一点烂技术写点好玩的:

下面是成品说明

本程序可以将用户输入的内容通过 非固定的凯撒密码字典 进行加/解密,是一种好用加密的加密聊天方式。

Caesar cipher,发明者Caesar(凯撒),罗马人。

根据苏维托尼乌斯的记载,恺撒曾用此方法对重要的军事信息进行加密:

如果需要保密,信中便用暗号,也即是改变字母顺序,使局外人无法组成一个单词。如果想要读懂和理解它们的意思,得用第4个字母置换第一个字母,即以D代A,余此类推。

同样,奥古斯都也使用过类似方式,只不过他是把字母向右移动一位,而且末尾不折回。每当他用密语写作时,他都用B代表A,C代表B,其余的字母也依同样的规则;他用A代表Z。

另外,有证据表明,恺撒曾经使用过更为复杂的密码系统:文法学家普罗布斯曾经写过一份独具创新的手稿,研究恺撒书信中包含有秘密信息的字母。

已经无法弄清恺撒密码在当时有多大的效果,但是有理由相信它是安全的。因为恺撒大部分敌人都是目不识丁的,而其余的则可能将这些消息当作是某个未知的外语。即使有某个敌人获取了恺撒的加密信息,根据现有的记载,当时也没有任何技术能够解决这一最基本、最简单的替换密码。现存最早的破解方法记载在公元9世纪阿拉伯的阿尔·肯迪的有关发现频率分析的著作中。

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

进入程序后,会有像下面这样的提示:

随便输入一段英文(此程序仅支持英文和数字,原因看原理):例如 Fuck you

然后回车:

我们在这输入的是可看的原文,所以我们要加密,输入1,回车:

我们以位移+3(这是当年的默认值,输入其他值可以为负,但是必须加负号,正数的正号加不加无所谓)为例,输入并回车:

程序里面用了循环,所以输出完后会自动进行下一次,这适合正在加密聊天的折腾者。

同样,我们把加密好的文本复制完后重新输入,选择2进行反加密(解密),位移了多少仍然填3:

这样解密就成功了,是不是真的很适合爱折腾的你?赶紧发给你的朋友,约定一个固定的位移数(加密密钥)进行愉快的无限制聊天吧!

存放主程序及图标文件

英文版主程序(在en-ww文件夹内)

程序图标,透明底的

中文版主程序

日志文件,主要通过自编模块 keeplog 生成,内容为“日期(Y/M/D)+时间(h/m/s)+加密密钥+输入/输出内容+分割线”

数字密码转换中文

4194418141634192622374

大家注意一下这组数字 最大的是数字的范围是1-9

手机上一共有10个数字按键 其中0和1不对应任何字母

所以不存在0 而为什么会有1呢?

大家在仔细看一下,如果将数字从左到右编序号,12345直到22

有没有发现奇数编号对应的数字没有1

所以奇数编号的数字应该是对应有字母的手机按键

而所有偶数编号对应的数字都是1234

为什么只有1234?大家再看看手机,所有有字母的按键 最多只有4个字母,所以偶数编号的字母对应的是按键上的第几个字母。

按照这个方法我们来看下这串数字 xx94xxxxxxx74

这是仅有的两个偶数编号的4 相对应9和7

你们再看看手机 只有按键9和7才对应4个字母 其它的都只对应3个

--------------------------------------------------------------------------------

4

我重新整合了这个解密步骤。

如下。

38楼给我的提示。还是让我想到了手机。

你们看解码出来分组后的数字分别是,

41 94 41 81 41 63 41 92 62 23 74

并且每个组合个位数都不超过4。

特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。

看图。

手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。

那么,按照上面的组合解码可得。

G Z G T G O G X N C S

解码后我们发现每一组数字都能解释出来。

目前我只能解码到这里的。

虽然很不通顺,但我相信这里应该是个突破点。

93楼的键盘代入也给了我很大的提示。

包括楼主的“她说途中有一个步骤是"替代密码"而密码表则是我们人类每天都可能用到的东西”

那么很可能就是电脑键盘。

因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。

码表 QWE=ABC依次类推。

那么解码G Z G T G O G X N C S

就是G=O Z=T G=O T=E G=O O=I G=O X=U N=Y C=V S=L

翻译过来就是 O T O E O I O U Y V L

其实到这里就已经大概知道答案是什么了。

按照逻辑来整理,只要你重组这些字母的时候你就看到了。

虽然重组有很多种例如,LV IOU ET OOO

可是这些没有语言性质。因为楼主说过最终答案是英语。

所以唯一一个符合逻辑的答案应该是I LOVE YOU TOO.

可是我还不确定。

因为这里我才解了第3层就已经看出答案了。

所以我决定用O T O E O I O U Y V L

进行再次解码。

我用了很多种解码方法。

凯撒,乘法等等。。

最后我发现了只有栅栏才能读得通。

分成两排

O T O E O I

O U Y V L

重组后,OOTUOYEVOLI。

然后倒序,ILOVEYOUTOO.

I LOVE YOU TOO.就自然而然的出来了。

最后我才肯定密码就是I LOVE YOU TOO.

最后的最后,我敢肯定楼主有一个非触摸屏的手机,并且键盘一定是标准格式的。

而且应该有一台笔记本或者你经常接触电脑。

另外楼主和楼主的女人关系应该是认识很久的那种,而不是一见钟情。

而且楼主告白的时候应该有用到I LOVE YOU 或者我爱你之类的字眼。

对不对阿?

呼.

好累啊..

祝楼主幸福咯.

因为她是爱你的!!

MFC 最简单的 凯撒密码的 我 纯新手 工程在百度网盘里!

CString::SetAt超出原有字符串长度是不允许的,因此解码失败

密钥 的edit中 的0是因为设置了int类型的关联变量,要去掉0只能去掉数值关联变量

换行在资源中设置“多行”和“自动垂直滚动”就可以了。multiline / auto vscroll

中文是:去死吧,把它转换成数字或英文字母弄成一个密码,我想让别人来猜,不用太难的,不要弄几层密码…

-/**-*/-*--/**-*/--*-/***/*--*/--*-

解出来是 go to dead去 死 吧

第1层摩斯码 t/f/y/f/q/s/p/q

第二层 凯撒 1 sexeprop

第三层 QWE解密 gotodead

会不会有点难了 呵呵

那就直接摩斯码

--*/---/-/---/-**/*/*-/-**/ gotodead