ROT13的介绍

ROT13(回转13位,rotateby1laces,有时中间加了个减号称作ROT-13)是一种简易的置换暗码。它是一种在网路用作隐藏八卦、妙句、谜题解答以及某些话的工具,目的是逃过版主或的匆匆一瞥。ROT13被描述成“杂志字谜上下颠倒解答的Usenet对等体”。(Usenet equivalent of a magazine printing the answer to a quiz upside down.)1ROT13 也是过去在古罗马开发的凯撒加密的一种变体。ROT13是它自己本身的逆反;也就是说,要还原ROT13,套用加密同样的算法即可得,故同样的作可用再加密与解密。该算法并没有提供真正的密码学上的保全,故它不应该被套用在需要保全的用途上。它常常被当作弱加密示例的典型。ROT13激励了广泛的在线书信撰写与字母游戏,且它常于组对话中被提及。

rot13加密解密在线 rot18解密rot13加密解密在线 rot18解密


rot13加密解密在线 rot18解密


凯撒密码和栅栏密码解密?

凯撒密码:明文中的所有字母都在字母表上向后进行偏移后替换成偏移后的密文 偏移量通常是3 AA=z 例如:所有的字母A将被替换成D,B变成E,以此类推

但是凯撒密码还有其它种类有: 偏移量为10 称做 Avocat(AK)

偏移量为13 称做 ROT13

偏移量为-5 称做 Cassis (K 6)

偏移量为-6 称做 Cassette (K 7)

栅栏密码,就是把要加密的明文分成N个一组,然后把每组的第1个字连起来,形成一段无规律的话。 不过栅栏密码本身有一个潜规则,就是组成栅栏的字母一般不会太多。(一般不超过30个,也就是一、两句话) 比较复杂

如何创建密码和暗语

目录方法1:使用简易密码和编码(针对儿童)1、把单词反过来写。2、对半映射字母表来加密消息。3、尝试“猪圈密码”。4、创建个带点的“井字”表格。5、在每个格子下面画出两个X。6、用字母周围的格子来编写猪圈密码。7、使用日期移位密码。8、用日期移位数字密钥加密消息。9、使用加密语音,如Pig Latin。方法2:密码1、认识到密码的局限性。2、确定密码要实现的目标。3、编写电码本。4、将电码本应用于消息。5、使用密钥对消息进行编码。6、解码消息。方法3:学习常用编码1、采用苏格兰女王玛丽所使用的编码。2、使用类似军事警报的密码短语。3、用书本密钥来加密信息。方法4:破译密码1、确定使用密码是否合适。2、创造出一种适用于发送消息的算法。3、译成密码信息。4、破译消息。方法5:掌握标准密码1、掌握摩斯电码2、使用换位密码。3、将消息转换为二进制。密码是改变消息的一种方式,这样就可以隐藏消息的原始含义。通常,加密需要电码本或码字。密码是应用于消息以隐藏或加密信息的过程。然后这些信息需要反向转化或破译。编码和密码是保密通信科学(密码分析)的重要组成部分。

方法1:使用简易密码和编码(针对儿童)

1、把单词反过来写。这是一种对消息进行编码的简易方法,这样消息无法一眼看懂意思。比如“Meet me outside(在外面等我)”,反过来写应该是“Teem em edistuo”。

注意:虽然这段编码很容易就可以,但是如果你认为有人试图在偷看你的消息,这种方法就非常有用。

2、对半映射字母表来加密消息。在纸上写出一行字母,从A到M。在这一行的正下方,把字母N到Z也写在同一行上。把消息中的每个字母都改成对面一行的相反字母。使用映射字母表来加密,“Hello”就会变成“Uryyb”。

3、尝试“猪圈密码”。在一张纸上画一个“井字”表格。在表格中从左到右,从上到下写出字母A到I。在本例中:行是由字母A、B、C组成的。

第二行是字母D、E、F。

一行是字母G、H、I。

4、创建个带点的“井字”表格。在个表格旁边再画一个“井字”表格。用字母J到R填写表格,类似于个表格。然后在每行表格的每一个空格内按照下列描述标记点:在行,从左边开始,在右下角(字母J)、正下方(字母K)和左下角(字母L)各标记一个点。

在第二行,从左边开始,在正右方(字母M)、正下方(字母N)和正左方(字母O)各标记一个点。

在第三行,从左边开始,在右上角(字母P)、正上方(字母Q)和左上角(字母R)各标记一个点。

5、在每个格子下面画出两个X。这两个X也要填写字母,以完成猪圈密码的密钥。在第二个X中,在X的交叉点周围的空白处画点,这样在X的中心的每一侧都有一个点。然后:在个X(没有画点)中,在X的上方写下s,左侧写下t,右侧写下u,在下方写下v。

在第二个X中,在X的上方写下w,左侧写x,右侧写y,下方写z。

6、用字母周围的格子来编写猪圈密码。字母周围的格子(包括点)被用来替代字母。使用猪圈密码密钥将消息转化成形似猪圈的格子。

7、使用日期移位密码。选择一个日期。可能具有个人意义的日期,比如生日或者你大学毕业的那天,但也可以无关个人,比如乔治?的生日。把日期写成一串完整的数字。这就是数字密钥。例如,如果你要使用乔治?的生日(2/22/1732),你可以把它写成2221732。

如果你已经约定和某人使用日期移位密码,你可以在加密的信息中加入一个数字密钥提示(比如“”)。

8、用日期移位数字密钥加密消息。把消息写在一张纸上。在消息下面,为消息中的每个字母写出数字密钥的一个数字。当你用到数字密钥的一位时,从头开始重复使用这个数字密钥。例如,用乔治?的生日(2/22/1732):消息:I'm gry(我饿了)

加密:

I.m.h.u.n.g.r.y

2.2.2.1.7.3.2.2

根据数字密钥,将字母移位,如下所示?

编码消息:K.O.J.V.U.J.T.A

9、使用加密语音,如Pig Latin。在Pig Latin中,对于以辅音开头的单词,把这个音转换到单词的末尾并加上“ay”。这个规则也适用于以一组辅音开头的单词。以元音开头的单词只需在单词末尾加上“way”或“ay”。以辅音开头的单词示例:pig = igpay;me = emay;too = ootay;wet = etway;hello = ellohay

以一组辅音开头的单词示例:glove = oveglay;shirt = irtshay;cheers = eerschay

以元音开头的单词示例:explain = explainway;egg = eggway;ends = endsay;eat = eatay

方法2:密码

1、认识到密码的局限性。电码本可能会被盗走、丢失或损毁。现代密码分析技术和计算机分析技术通常可以强密码。即便如此,密码可以将长消息压缩成一个信号词,从而节省大量时间。密码是一种很好的模式识别方式。这种技术可以在编码、解码、加密或解密消息时使用。

好友之间很自然地会使用暗语。圈内玩笑也可以被认为是一种“密码”。试着和你的朋友一起开发加密语言。

2、确定密码要实现的目标。了解编码的用途可以避免不必要的工作。如果你是为了节省时间,可能只需要几个特定的码字。如果你准备对复杂的消息进行编码,你可能需要开发一个更类似于词典的电码本。选择要编码的消息中出现的常用短语。这些短语是需要用码字进行压缩的主要目标。

可以使用几个不同编码循环或组合来使密码变得更复杂。不过,使用的编码越多,解码所需要的电码本就越多。

3、编写电码本。把常见的短语,比如“Reading you loud and clear(我能理解,听得很清楚)”,压缩成“Roy”。对于编码消息和常用短语中的所有可能的单词,也要指定替编码字。有时,部分编码可能会使消息变得非常难以理解。例如,如果“walk(走路)”的意思是“tango(探戈)”,而“museum(博物馆)”的意思是“restaurant(餐馆)”,之前使用的码字“Roy”含义不变。消息:About yesterday. I wanted to say,Roy。 I'll tango to the restaurant as planned. Over and out.(昨天,我想说,罗伊。我会按跳着探戈去餐厅。完毕)。

含义:About yesterday. I wanted to say, reading you loud and clear. I'll walk to the museum as planned. Over and out.(昨天,我想说,我能理解,听得很清楚,我会按步行去博物馆。完毕。)

4、将电码本应用于消息。使用电码本中的码字对消息进行编码。你可能会发现,把名词(如名字和代词,如我、她)作为纯文本可以节省时间。不过这完全取决于你的具体情况。两段式编码应用两种不同的电码本对消息进行编码或解码。这些比一段式编码更安全。

5、使用密钥对消息进行编码。关键消息、一组单词、字母、符号或上述组合可以用来编码信息。信息的接收者也需要这个关键短语或字母/符号来解码信息。例如,对于关键字“SECRET”,消息中的每个字母都将转换为它与关键字的对应字母间隔的字母数。例如,消息: Hello

编码:

/H/与关键字母/S/间隔11个字母

/e/和/E/完全相同(0)

/l/与关键字母/C/间隔9个字母

以此类推...

编码消息: 11; 0?; 9?; 6?; 10

6、解码消息。当你收到编码信息时,你需要利用电码本或关键字/短语来理解编码信息。刚开始可能会很难,但是随着你对编码越来越熟悉,这个过程就会变得更加直观。

小提示:为了加强编码能力,你可以邀请好友加入一个业余编码小组。通过传递信息来提高编码技能。

方法3:学习常用编码

1、采用苏格兰女王玛丽所使用的编码。在动荡时期,苏格兰女王玛丽使用符号作为英语字母和常用词的替代来传递信息。你可能会发现玛丽女王密码的一些特性对你自己学习加密很有帮助,包括:使用简单的形状来表示高频字母,如玛丽用圆圈表示字母/A/。这节省了编码的时间。

新编码语言中常用的符号,比如玛丽用“8”作为字母“Y”的编码。这样可以迷惑密码破译者,他们可能会理解成数字而不是密码符号。

通用单词的符号。在玛丽时代,“pray(祈祷)”和“bearer(送信人)”都有独特的符号,但在当时比现在更为常见。尽管如此,使用符号代替高频单词和短语既节省时间,又增加了复杂性。

2、使用类似军事警报的密码短语。密码短语可以把很多意思分解成一个短语。甚至许多种类的军事警报,如DEFCON系统,也只是戒备状态的常用代码。在日常生活中想出合适的暗语或短语。例如,你可以对朋友使用暗语“Sloppy”,而不是说“I've got to run to my locker(我要去储物柜)”。

要让你的朋友知道你想约会的人已经进入房间,你可以用暗语说,“My cousin Bruce likes hockey, too(我的表弟布鲁斯也喜欢曲棍球)。”

3、用书本密钥来加密信息。书比较容易买到。如果已经确定某本书作为密钥,当你收到一条消息时,你可以去书店或图书馆查找解码的密钥。例如,你可能决定使用弗兰克?赫伯特的《沙丘》,从左侧开始使用代码编号表示页面、行和数字单词。加密信息: 224.10.1?; 187.15.1?; 163.1.7?; 309.4.4

解码信息: I'm hiding my words(我在隐藏我的消息)。

小提示:不同版本的书可能使用不同的页码。要确保使用正确的书作为密钥,书本密钥中要包含出版信息,如版本、出版年份等。

方法4:破译密码

1、确定使用密码是否合适。密码会使用某种算法,它类似一种应用于消息一致性的处理或转换。这意味着任何知道密码的人都可以破译它。复杂的密码甚至能难倒训练有素的密码分析员。有时,复杂密码背后的数算是一种非常适合隐藏日常信息的防御手段。

许多密码学家添加一个密钥(比如日期)来加强密码。这个密钥将根据相应的月份天数调整输出值(在个密钥中,所有输出值将更改1)。

2、创造出一种适用于发送消息的算法。你可以应用的简单的密码之一是ROT1密码(有时称为凯撒密码)。这种密码需要将消息中的每个字母在字母表中向前循环遍历一位。ROT1消息: Hello

ROT1加密后: i?; f?; m?; m?; p

凯撒密码可以改成在字母表中向前循环遍历不同位数。在概念上,ROT1和ROT13本质上是一样的。

密码可能非常复杂。有些还需要使用坐标、时间和其他值。有些加密过程甚至会用到计算机。

3、译成密码信息。使用算法加密消息。当你学习加密过程时,速度应该会越来越快。添加算法从而使它更复杂。例如,在密码中包含一个遍历条件,比如星期几。为一周的每一天分配一个值。在那一天加密消息时,按照这个值调整密码。

在加密消息中包含一个页码。这一页的每个对应字母都将作为消息的密钥,例如,1st破译信息: 7?; 2?; 3?; 6?; 3

书本密钥:A_girl(空格不算)

/H/距离字母/A/有7位

/e/距离字母/g/有2位

/l/距离字母/i/有3位

以此类推...

根据密钥将消息调整为: Hello

4、破译消息。当你有了阅读密码的经验后,它就会成为你的习性,或者至少让你觉得更容易。由于这些过程(算法)的应用是相容的,习惯会有助于你在使用这种类型的密码系统时发现趋势,并获得直觉。

小提示:业余密码俱乐部在网上很受欢迎。其中许多都是免费的,并提供现代密码基础知识的初级读本。

方法5:掌握标准密码

1、掌握摩斯电码。不管是什么样的名称,“莫斯电码”都是一种密码。点和线代表长和短的电信号,它们反过来代表了字母表中的字母,从而催生了老式电子通讯(电报)。莫斯电码中常用的长(_)信号和短(.)信号包括:R?; S?; T?; L?: ._.?; _..?; _?; ._..

A?; E?; O?: ._?; .?; _ _ _

2、使用换位密码。历史上许多为人,比如天才,都是按照他们在镜子里的样子来书写信息的。因此,这种加密方式通常被称为“镜像书写”。这些类型的密码一开始可能很难,但很快就能被熟练掌握。

注意:换位密码通常从视觉上处理消息或字母的构成。消息的图像被转换从而隐藏含义。

3、将消息转换为二进制。二进制是计算机使用的1和0的语言。这些1和0的组合可以被加密,然后用二进制密钥解密,或者通过计算消息中每个字母的1和0所表示的值来解密。名字“Matt”可以加密为二进制:01001101;01000001;01010100;01010100。

小提示设计一种方法来加密单词之间的空格以及单词本身。这样可以加强密码,使它更难被。例如,你可以用字母(E、T、a、O、N())来代替空格。这些被称为空值。

学习一种不同的脚本,比如Runic,为你想要传递消息的人创建加密和解密密钥。你可以在网上找到这些内容,对我本人来说,这些都很有效。

如果你想让密码更安全,为常见的单词结尾和开头创建额外的符号,比如“-ing”和“th-”。此外,你可以省略或增加下列只有一个字母的单词(“A”和“I”)。不要大写字母,省略撇号。让一些字母和其他字母具有相同的符号。你也可以把两个字母的单词和它们后面的单词结合起来,并省略单词末尾的字母“S”。

用代码或密码并不能保证消息的安全性。密码分析可能会你的代码,或者人为错误,比如丢失电码本,也可能导致你的密码被。

求 php 解密eval(gzinflate(str_rot13(base64_decode

这样加密作者很无赖和,因为明明知道这样的加密是易如反掌的,而却还的把代码加密无数次。

我写了下面两个PHP文件:

//B.PHP

$str=file_get_contents('2.txt');

while (preg_match("/eval(gzinflate(str_rot13(base64_decode('([^'])'/",$str,$match)){

$fp=fopen('1.txt','w');

fputs($fp,$match[1]);

fclose($fp);

('php a.php');

$str=file_get_contents('2.txt');

}?>

//A.PHP

$str=file_get_contents('1.txt');

$str=base64_decode($str);

$str=str_rot13($str);

$str=gzinflate($str);

$fp=fopen('2.txt','w');

fputs($fp,$str);

fclose($fp);

?>

把你的代码保存为2.TXT,在CMD下运行下面的命令:

PHP B.PHP

过一会程序执行完毕,2.TXT就是解密后的代码。

解密后的程序代码如下:

function isEmpty($str){

if(($str==null) || (strlen($str)==0))

return(false);

else return(true);}

function zSubStr($string,$sublen)

{if($sublen>=strlen($string))

{return $string;

}$s="";

for($i=0;$i<$sublen;$i++)

{if(ord($string{$i})>127)

{$s.=$string{$i}.$string{++$i};

continue;

}else{

$s.=$string{$i};

continue;

}}

return $s;

}$str_j ='e';

$msgc=zSubStr($msgc,10);

$uname=zSubStr($uname,9);

$font = "./fonts/FZWBJW.TTF";

$font1 = "./fonts/Tattoo.TTF";

$imp = imagecreatefromJPEG('images/7.jpg');

$dim=getimagesize('images/7.jpg');

$lung=$dim[0];

$lat=$dim[1];

$im = imagecreatetruecolor($lung,$lat);

$white = imagecolorallocate($im,255,255,255);

imagecolortransparent($im,$white);

ImageCopyResampled($im,$imp,0,0,0,0,$lung,$lat,$lung,$lat);

imagefill($im,0,0,$white );

$str_m = iconv("GB2312","UTF-8","$msgc");

$str_u = iconv("GB2312","UTF-8","$uname");

$green = imagecolorallocate($im,42,108,107);

ImageTTFText($im,15,0,200,249,$green,$font,$str_m);

ImageTTFText($im,15,0,200,220,$green,$font,$str_u);

ImageTTFText($im,50,0,100,245,$green,$font1,$str_j);

header("content-type:image/jpeg");

imagejpeg($im);

imagedestroy($im);

ROT13的变体

ROT47是ROT13的衍生物,它除了打乱基本字母外,也对数字与常见符号做处理。除了使用A–Z系列外,ROT47使用较宽的ASCII字符集。具体而言,所有7-bit可列印字元,除空白以外,从十进位33'!'到126'~'都被毫无保留的用来做47位循环。使用较广的字母集原意是产生比ROT13更的乱码,不过因为ROT47无别的导入了数字与符号混合,这种方式较容易看出文字被动过手脚。