首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏CTF Crypto

    BUUCTF CheckIn 1 | ROT编码

    展开代码语言:TXTAI代码解释v)*L*_F0<}@H0>F49023@FE0#@EN2、尝试了很多方法,都没有成功。最后,根据此密文的ASCII码值都处于33~126范围,确定为ROT47加密。 flag:展开代码语言:CAI代码解释GXY{Y0u_kNow_much_about_Rot}加密原理:ROT5、ROT13、ROT18、ROT47编码是一种简单的码元位置顺序替换暗码。 下面分别说说它们的编码方式:ROT5:只对数字进行编码,用当前数字往前数的第5个数字替换当前数字,例如当前为0,编码后变成5,当前为1,编码后变成6,以此类推顺序循环。 ROT13:只对字母进行编码,用当前字母往前数的第13个字母替换当前字母,例如当前为A,编码后变成N,当前为B,编码后变成O,以此类推顺序循环。 用于ROT47编码的字符其ASCII值范围是33-126,具体可参考ASCII编码

    35122编辑于 2025-12-10
  • 来自专栏ICSOC.TECH

    读书笔记 | Design Rot - 2

    读书笔记 | Design Rot -1 管理的事情不太懂就不多说了,还是接着聊Design。

    35910发布于 2020-07-06
  • Python ROT13 算法实战!ROT算法加密

    Python ROT13 算法实战!ROT 算法加密想快速掌握简单加密技巧?ROT13 算法了解一下! 一、ROT13 算法原理ROT13 算法的原理可简单啦,就是把字母表平移 13 位。你看,A 就变成了 N,B 变成 O,一直到 M 变成 Z,而 N 又变回 A,O 变回 B,直到 Z 变回 M。 也就是说,对一个经过 ROT13 加密的文本再进行一次 ROT13 加密,就能得到原来的文本,这就是它天然适合英语文本 “双向加密” 的原因。 五、面试相关问题及回答(一)什么是 ROT13 算法?ROT13 算法是一种简单的字母旋转加密算法,它将字母表中的每个字母向后(或向前)平移 13 位。 无论是想理解加密原理,还是快速实现文本混淆,ROT13 都是绝佳入门案例!希望通过今天的讲解,大家能对 ROT13 算法有更深入的了解,为后续学习复杂加密算法打下基础。

    56310编辑于 2025-09-04
  • 来自专栏网络安全技术点滴分享

    ROT混淆技术入门指南

    ROT混淆技术入门大家好,我是John Strand。本视频将探讨ROT(旋转)编码技术。作为Black Hills信息安全公司网络靶场培训的组成部分,这项技术在渗透测试、CTF竞赛等场景中频繁出现。 ROT技术原理历史背景:源自凯撒密码的变体,80年代Usenet论坛用于隐藏笑话关键内容核心机制:字母位移(如ROT13表示字母表旋转13位)现代变种:ROT47可处理特殊字符的ASCII码位移Linux | tr 'A-Za-z' 'N-ZA-Mn-za-m'使用tr命令实现文本的ROT13转换,明文与密文呈现明显可逆特征。 安全风险警示错误应用场景:开发者使用ROT混淆密码等敏感数据(应使用现代加密方案)识别特征:保留原始文本空格结构高频出现V/N/Z等非常用字母组合CTF竞赛常见题型解析技巧特别警告:生产环境禁止使用ROT 本技术将应用于BHIS网络靶场系列课程,后续将推出Base64编码、十六进制编辑器等专题内容。

    29710编辑于 2025-08-06
  • 来自专栏python3

    编码-2

    stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: 第二个问题是如果说python2中默认的编码方式是ascii,那么非英文字符按理来说是不能编码的 呀(因为ascii中只有英文字符)。 这个问题和第二个问题还是很有联系的,首先 u'' 在 python2 中表示的是对应字符的 unicode 码的形式,至于过程,则是使用当前的终端的编码方案对字符进行(decode)解码,然后再将解码后的所对应的 解释 进度2 #the code below is under a file.py #coding: utf-8 import sys ed = sys.stdout.encoding print '知乎 print '知乎' 尾声 python2编码问题其实早已经出现好久,一开始我只是解决了乱码的问题,后来在各种终端下测试的时候,发现了这样那样的问题,我觉得这真的还是蛮胃疼的,每次都得直接google

    68710发布于 2020-01-06
  • 来自专栏ICSOC.TECH

    读书笔记 | Design Rot -1

    最近看了一篇公众号InfoQ 翻译的文章,原文叫做《Preventing Software Rot》[1],提到了Bit Rot这个概念,翻译成中文是比特腐烂。 Bit Rot 原文提到了一个令人震惊和唏嘘的事实,引用如下: ? 做不到的原因捋起来一大筐,今天这篇主要聊一下由Bit Rot引申出来的Design Rot。 所以用Design Rot这个英语词汇在中文世界里伪装成一个中性的表达方式。 References [1] 《Preventing Software Rot》: https://software.rajivprab.com/2020/04/25/preventing-software-rot

    52620发布于 2020-07-06
  • 来自专栏宸机笔记

    ROT-13加密算法

    解密过程 找出所有字母 获取字母的asc的编码,并判断字母在字母表的前半段还是后半段 如果是前半段则加13,替换成后半段字符,反之亦然,并解码为字母 脚本 s="xrlvf23xfqwsxsqf" a=

    95430发布于 2020-11-04
  • 来自专栏章鱼的慢慢技术路

    Go指南练习_rot13Reader

    编写一个实现了 io.Reader 并从另一个 io.Reader 中读取数据的 rot13Reader,通过应用 rot13 代换密码对数据流进行修改。 rot13Reader 类型已经提供。 二、题目分析 根据维基百科解释,ROT13是一个简单的字母替换密码,用字母后面的第13个字母替换当前字母。 ? ? 搞清楚原理后,我们可以尝试开始编写字母转换程序。 三、Go代码 package main import ( "io" "os" "strings" ) type rot13Reader struct { r io.Reader } func rot13(out byte) byte{ //字母转换 switch{ case out >= 'A' && out <= 'M' || out >= 'a (b[i]) } return n,e } 四、参考资料 rot13.go

    1.3K10发布于 2018-07-24
  • 来自专栏c#学习笔记

    C#编码规范2 C#编码规范

    C#编码规范 1 规范目的 ……………………………………………………… 3 2 适用范围 ……………………………………………………… 3 3 代码注释 ……………………………………………………… ........................... 14 1 规范目的 一个软件的生命周期中,80%的花费在于维护; 几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护; 编码规范可以改善软件的可读性 为了执行规范,每个软件开发人员必须一致遵守编码规范; 使用统一编码规范的主要原因,是使应用程序的结构和编码风格标准化,以便于阅读和理解这段代码; 好的编码约定可使源代码严谨、可读性强且意义清楚,与其它语言约定相一致 例如:   String strTest1, strTest2;   应写成:   String strTest1;   String strTest2;   2> 代码缩进:   l 一致的代码缩进风格 l 避免方法中有超过5个参数的情况,一般以2,3个为宜。如果超过了,则应使用struct来传递多个参数。   

    3.4K91发布于 2020-10-27
  • 来自专栏山河木马

    JavaScript编码规范(2) 原

    编码规范 对于编码规范,既然是规范,那我们就应该按照一定的规则来编写。 随意编写违反编码规范的代码,可能会导致程序的出错和潜在的bug,因此其相对于编码风格来说应该更加严谨,也有人会把编码风格包含在编码规范之中。 == '321') {     console.log('321'); } 2.包裹if语句 // 不推荐的写法:if语句不用大话号包裹会出现潜在bug var num = 123; name属性存在'); } if (obj.hasOwnProperty('name')) {     console.log('name属性存在'); } 以上主要列举了5个常见的编码规范的例子

    49430发布于 2019-03-05
  • 来自专栏小白程序猿

    PSR-2 编码规范

    当多名程序员在多个项目中合作时,就需要一个共同的编码规范, 而本文中的风格规范源自于多个不同项目代码风格的共同特性, 因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。 ? 1. 概览 代码 必须 遵循 [PSR-1] 中的编码规范 。 代码 必须 使用 4 个空格符而不是「Tab 键」进行缩进。  $arg3);         }     }     final public static function bar()     {         // 方法体     }} 2. 基本编码准则 代码 必须 符合 PSR-1 中的所有规范。 2.2. 文件 所有 PHP 文件 必须 使用 Unix LF (linefeed) 作为行的结束符。 phpbar();$foo->bar($arg1);Foo::bar($arg2, $arg3); 参数 可以 分列成多行,此时包括第一个参数在内的每个参数都 必须 单独成行。 <?

    98720发布于 2019-12-27
  • 来自专栏python3

    python2爬虫编码问题

    import sys reload(sys) sys.setdefaultencoding('utf-8') # 输出的内容是utf-8格式

    71920发布于 2020-01-15
  • 来自专栏mousemin

    PSR-2 编码风格规范

    PSR-2 编码风格规范 本篇规范是 PSR-1 基本代码规范的继承与扩展。 本规范希望通过制定一系列规范化 PHP 代码的规则,以减少在浏览不同作者的代码时,因代码风格的不同而造成不便。 当多名程序员在多个项目中合作时,就需要一个共同的编码规范, 而本文中的风格规范源自于多个不同项目代码风格的共同特性, 因此,本规范的价值在于我们都遵循这个编码风格,而不是在于它本身。 概览 代码 必须 遵循 PSR-1 中的编码规范 。 代码 必须 使用 4 个空格符而不是 Tab 键 进行缩进。 } 20 21 final public static function bar() 22 { 23 // method body 24 } 25} 通则 基本编码标准 php 2bar(); 3$foo->bar($arg1); 4Foo::bar($arg2, $arg3); 参数 可以 分列成多行,此时包括第一个参数在内的每个参数都 必须 单独成行。 1<?

    60920编辑于 2023-06-10
  • 来自专栏本立2道生

    Protocol Buffers(2):编码与解码

    wire type = 2编码为 key + length + 数据,length指示了数据长度,可能有多个数据,顺序排在length后 解码代码一窥 接下来,我们直接看一下example.pb.cc varint varint是一种可变长编码,使用1个或多个字节对整数进行编码,可编码任意大的整数,小整数占用的字节少,大整数占用的字节多,如果小整数更频繁出现,则通过varint可实现压缩存储。 至此,key-value的编码方式我们已经解决了一半,还剩value部分没有解决,接下来看看Protobuf数据部分是如何编码的。 对于int32或int64,正数直接按varint编码,数据类型为int32或int64的负数统一被编码为10个字节长的varint(补码)。 小结 至此,二进制文件中key-value对的编码方式已基本介绍完毕,后面将通过一个相对复杂的例子,将这些琐碎的编码方式串起来,以加深理解。

    2.1K30发布于 2019-04-23
  • ucs2编码转ansi

    注意此函数支持是\u格式如果是%u可以先替换成\u,这个函数可以在usc2中插入不相关的解码字符,比如:你好\u1234不会影响解码,这个就是用寻找字符方法实现的,其实也可以用正则表达式方法搞定,这里足够用了          {          if(findIndex==offsetIndex)          {          charStr=data.substring(findIndex+2,          {          result=data.substring(offsetIndex,findIndex);          charStr=data.substring(findIndex+2,

    14300编辑于 2025-07-18
  • 来自专栏学习与分享

    软件工程之编码2

    结语 编码是软件工程中不可或缺的一环,良好的编码实践直接影响着整个项目的质量和维护成本。 通过遵循编码规范、应用设计模式、进行单元测试、代码重构以及注重异常处理与日志记录,我们可以更好地驾驭编码的艺术,创造出高质量、可维护的软件。 希望本文能够为广大开发者在软件工程中的编码实践提供一些有益的启示。

    44510编辑于 2024-02-21
  • 来自专栏python、mysql、go知识点积累

    字符编码、python2和python3编码的区别

    python2和python3字符编码的区别 python2 python3 字符编码 文本编辑器存储信息的过程 打开编辑器就在内存中打开了一个进程,用编辑器编写的内容存在内存中,断电会丢失。 读文件时乱码 读文件时如果读取采用的编码格式与文本原来的编码格式不同则会导致出现乱码,如用gbk读取ASCII编码的文件 总结 要想不出现乱码,文件中的字符按什么标准编码,就用什么标准去读取文件( 由于内存中固定使用Unicode编码,我们只能改变存储到硬盘时使用的编码格式。 python2和python3字符编码的区别 python2 python2有两种存储形式,第一种:Unicode;第二种:按coding头选择存储格式,假设python2用utf8存储x='中文',当你 Python2中默认使用ascii,Python3中默认使用utf-8,文本编辑器编写的文件默认为gbk编码格式。

    74930编辑于 2022-05-10
  • 来自专栏曾大稳的博客

    MediaCodec硬编码pcm2aac

    MediaCodec是Android(api>=16)提供的一个多媒体硬解编码库,能实现音视频的编解码。 工作原理:其内部有2个队列,一个是输入队列,一个是输出队列。 encoderFormat = MediaFormat.createAudioFormat(MediaFormat.MIMETYPE_AUDIO_AAC, samperate, 2) //录音时间 size/ 采样率*声道数 * bits/8 recordTime += size * 1.0 / (audioSamplerate * 2 = (byte) (((profile - 1) << 6) + (freqIdx << 2) + (chanCfg >> 2)); packet[3] = (byte) (((chanCfg 88200: rate = 1; break; case 64000: rate = 2;

    1.6K20发布于 2018-09-11
  • 来自专栏python3

    Python2.x的编码问题

    好像写Python的人经常遇到这个问题,如果是一个新手,对网上的解答简直头都大了.如果又是Python2.x,简直了都(历史原因,不赘述) 但是,字符串编码是经常要面对的问题,不可不察. Unicode与各种编码格式 我的理解是:Unicode是一种规则,法则,抽象的,飘在空中的; 而各种编码则是工具,把Unicode字符捣鼓成我们想要的东西. 数据从Python-->外部时 Unicode字符是不能随便写的,要先把我们的Unicode编码成具体编码格式,然后再写出 content = unicodeContent.encode(encoding 啊 2 Python有时能猜到目的地的编码,猜到万幸,没有猜到就抛错误 3 使用Windows_中文版的人需要知道它的cmd控制台是gbk编码的 4 Linux等就好多了,我总是「如果不清楚该使用什么编码 ,隐式转换了 print s.encode('gbk') #ok,目的地能接受gbk print s.encode('utf-8') #fail,看来万能的utf-8不好用啦,因为目的地不接受 2 有时候从网页获取来的数据可能是

    69710发布于 2020-01-02
  • 来自专栏Crossin的编程教室

    浅谈 Python 2 中的编码问题

    Python 2.x 里的编码实在是一件令人烦躁的事情。不断有初学者被此问题搞得晕头转向。我自己也在很长一段时间内深受其害,直到现在也仍会在开发中偶尔被坑。 进一步地,输入: >>> len('你好') 6 字符串的长度也并不是想象中的2。 这就是我们一直说的编码。即通过某种规定的形式,用一些字符表示另一些字符。 虽然 unicode 很强大,但在 Python 2 中,它不能被直接输出,而必须通过某种编码转成 str。 ,这时候如果指定的编码不符,就会产生讨厌的乱码: >>> '你好'.decode('cp936') u'\u6d63\u72b2\u30bd' >>> print '你好'.decode('cp936' '\xbb\xb6\xd3\xad' >>> print s ��ӭ >>> s.decode('gbk') u'\u6b22\u8fce' >>> print s.decode('gbk') 欢迎 2

    1.3K140发布于 2018-04-17
领券