【python】将01组成的密码用ASCII编码成字符串

密文破译功!《由0和1组成密码,何解?》 一个多月前某平台一位粉丝给我留言,和自己聊的很熟的异性发来一段密文,说这是她想对粉丝说的话,于是该粉丝求助我帮忙破译:这是一个长1089个数的由0和1组成的密文,本来以为是ANSI符,后来发现不是,也不是十进制译二进制。历时一个月,我破解到密码是 “ 这个深夜里,特别想你!粉丝老哥啊!你的爱情来了,快去追吧。后面说说我所如何破解的。走在学校的路上,我看到树上的一个活动宣传,有个二维码,然后我都灵感就来了:会不会是一个二维码,扫描得到信息呢,而恰好0可以代表二维码中的白色,而1表示黑色。 阅读详情

题目来自 hacker.org 的 Challenge 'Didactic Bytes' [Crypto]

给出一个01串组成的密码,求出破译后的单词

01110101 01110011 01100101 00100000 01110111 01100101 01100100 01101110 01100101 01110011 01100100 01100001 01111001 00100000 01100110 01101111 01110010 00100000 01110100 01101000 01100101 00100000 01100001 01101110 01110011 01110111 01100101 01110010

观察发现每个01串都是由0开头的8位二进制数,因此转化成十进制范围在127以内,由此联想到ASCII码。

---

s = "01110101 01110011 01100101 00100000 01110111 01100101 01100100 01101110 01100101 01110011 01100100 01100001 01111001 00100000 01100110 01101111 01110010 00100000 01110100 01101000 01100101 00100000 01100001 01101110 01110011 01110111 01100101 01110010"
bit = s.split()
dec = map(lambda x:int(x,2),bit)
print ''.join(map(chr,dec))

---

将密码以字符串的形式存入变量s中

str.split() 将字符串以空格为分隔符分离,结果以列表的形式保存到 bit 列表中。

用 map 对 bit 列表中的每个字符串执行 int(x, 2) ,将一串二进制数转化为十进制,将结果列表保存到 dec 中。

用chr() 将dec列表中的十进制数转化为字符,用 str.join(iterable) 将字符列表转化为字符串并输出。

2021/04/10 OJ每日一题 2329: 小新同学爱加密 python 2329: 小新同学爱加密 : 小新同学的数学绩比较好,很多信息内容都爱转换数字保存起来,今天他要对一串由英文大小写字母组成字符串进行加密,加密方法是:对于大写字母,如果ASCII编码是偶数对应的密文为编码值除以2,如果是奇数密文为字符的 ASCII编码值,如果是小写字母对应的密文为ASCII编码值乘以2。现在给出加密后的字符串,请恢复原字符串内容。 数据范围:原文字符串长度不超过10000。 输入 : 输入一行由数字字符组成的密文内容。 输出 : 输出原文字符串的内容 python代码: def j 阅读详情

相关推荐

密码学基础】01 密码学基本概念

密码学基础系列课程第一弹:密码学基本概念

Stu_Yang的博客 1万+

摩斯码转换器

摩斯码转换工具,摩斯电码翻译器,摩斯码训练等

CTF密码做题记录以及base系列的编码了解

本题是自定义的base64加密表变表,可以创建一个数组来存放自定义的加密表,再将其转换为字符串放入key1中,接下来我们用字符串key2来存放标准加密表,再用一个字符串存放密文,寻找密文在换表中的下标并转换为标准表的密文,图片如下:题目解出。

Jsy050906的博客 5925

密码机器各种编码转换与解密

一个网页脚本,方便各种编码格式的转换,直接用浏览器打开即可使用,其中涉及到CTF中常用的编码和加密方式,使用轻量方便,无需安装。

由0和1组成的摩斯密码

题目:0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0 000 1 01111 10 11110 101011 1111101 再将0变换. 1变换- 可得出一个新的摩斯密码 如下: ..-. .-.. .- --. ----.-- -- ----- .-. ... . ..--.- -.-. --- -.. . ..--.- .-..

m0_68517352的博客 7557

ASCll码表

ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 ASCII值 控制字符 0 NUT 32 (space) 64 @ 96 、 1 SOH 33 ! 65 A 97 a 2 STX 34 "

静心斋 6545

python输入一串字符作为密码_[python]将01组成密码ASCII编码字符串

题目来自 hacker.org 的 Challenge 'Didactic Bytes' [Crypto]给出一个01组成密码,求出破译后的单词01110101 01110011 01100101 00100000 01110111 01100101 01100100 01101110 01100101 01110011 01100100 01100001 01111001 00100000 ...

weixin_39632698的博客 1079

ASCII 字符详解

ASCII(美国信息交换标准代码)是一种基础的字符编码标准,定义了128个字符(0-127)的二进制表示。它包括控制字符(0-31和127)和可打印字符(32-126)。控制字符用于设备控制,如换行符(10)、回车符(13)等;可打印字符包含数字、大小写字母、标点符号等。在Python中,可通过ord()获取字符的ASCII码,chr()将ASCII码转为字符,并可用isascii()检查字符是否属于ASCIIASCII是计算机文本处理的基础编码标准。

m0_74000148的博客 751

密码学基础

0x01编码 hex & ascii # ascii c = input() print("{}:{}".format(c, ord(c))) input > f f:102 # str2hex def str2hex(str): a = "" for x in str: a += hex(ord(x)) a = a.replace("0x", "") print("a+={}/{} ---> a=0x{}".for

TyRant的博客 1万+

CTF密码学入门:从编码识别到古典密码的实战解析

在计算机安全与密码学领域,数据编码是信息表示与传输的基础。编码的核心原理是将数据从一种形式转换为另一种标准化的形式,以确保其在不同系统间的兼容性与可读性,例如Base64编码便于在文本协议中安全传输二进制数据,而十六进制编码则是机器级别的常见表示。掌握编码技术对于数据处理、网络安全分析和通信协议理解具有重要价值,尤其在CTF竞赛、安全审计和逆向工程等应用场景中,快速识别与转换编码是解决问题的关键第一步。本文聚焦于CTF中的密码学签到题,这类题目常涉及Hex、Base64等编码以及凯撒密码等古典密码技术,通过

tang_zongyun的博客 498

CTF密码学Crypto1

CTF密码学Crypto1.Morse code(摩尔斯密码)2. 栅栏密码3. 恺撒密码4.Ook!编码5.Brainfuck编码**3级标题四级标题五级标题六级标题 1.Morse code(摩尔斯密码) 特点: 用两种“符号”来表示字符:点(.)和划(-) 2. 栅栏密码 所谓栅栏密码,就是把要加密的明文分N个一组,然后把每组的第1个字连起来,形一段无规律的话。 不过栅栏密码本身有一个...

MikeCoke的博客 3140

python用户输入的是q吗编码_Day01-Python基础3-变量/字符编码/用户输入

本节介绍:Python介绍Python发展史Python 2 or Python 3?Python的安装Hello World 程序变量用户输入模块知识.pyc是什么鬼?数据类型知识数据运算表达式 if... else ... 语句表达式 for 循环break 和 continue表达式 while 循环作业需求六、变量\字符编码Variablesare used to store infor...

weixin_39609051的博客 252

摩斯码转化ASCII码脚本,由于网上 不太有,所以我分享一下,可以到在线python123跑一下,就能跑出来了,小众脚本。python环境

',',};#print (s)

ntrybw的博客 540

python的基本语法 字符串

字符串 字符串是一个序列,程序语言中认为可以打印的字符序列就是字符串字符串可以是一个单词、一串密码123456、一个网址、甚至是任意组合,比如abc、一篇完整的文章或者一个程序原有的源代码。 ...

Mao20001224的博客 192

别再为数据格式头疼了!一份Python密码学开发者的‘编码转换’速查手册(附CyberChef用法)

本文为Python密码学开发者提供了一套完整的编码转换工具箱,涵盖字符串与字节互转、十六进制表示、大整数与字节序列转换等核心操作,并介绍了PyCryptodome和CyberChef等实用工具,帮助开发者高效处理数据格式问题,提升密码学开发效率。

weixin_30879169的博客 507

CTF实战:从零解析Misc与Crypto中的编码密码应用场景

本文深入解析CTF比赛中Misc与Crypto方向的编码密码应用场景,涵盖Base家族编码、古典密码破解及现代密码实战技巧。通过特征识别、工具链准备和自动化验证等系统化流程,帮助参赛者高效解决各类密码题目,提升CTF竞赛实战能力。

快马扬鞭须努力! 345

字符编码全解析:从ASCII到UTF-8,彻底解决乱码问题

字符编码是计算机科学中处理文本信息的基础技术,它定义了字符与二进制数据之间的映射规则。其核心原理在于为每个字符分配唯一的数字标识,并通过不同的存储方案实现高效表示。理解编码的技术价值在于确保数据在存储、传输和显示过程中的一致性与正确性,避免乱码问题。在实际应用场景中,从早期的ASCII编码到支持多语言的Unicode标准,再到如今广泛采用的UTF-8变长编码编码方案的演进深刻影响着软件开发、数据交换和系统兼容性。本文聚焦于ASCII、GBK、UTF-8等关键编码格式的对比与实战,结合Python文件处理与

weixin_33749131的博客 317

20、二次编码

一.二次编码 编码回顾: ASCII : 最早的编码. ⾥⾯有英⽂⼤写字⺟, ⼩写字⺟, 数字, ⼀些特殊字符. 没有中⽂, 8个01代码, 8个bit, 1个byte GBK: 中⽂国标码, ⾥⾯包含了ASCII编码和中⽂常⽤编码. 16个bit, 2个byte UNICODE: 万国码, ⾥⾯包含了全世界所有国家⽂字的编码. 32个bit, 4个byte, 包含了 ASCII UTF-8: 可变⻓度的万国码. 是unicode的⼀种实现. 最⼩字符占8位   1.英⽂: 8bit 1byte   2.欧

Mrrunsen的博客 865
上一篇: 【python】统计文本中出现最多次的单词
下一篇: 【python】比较字符串中不同的地方
cyendra
博客等级 码龄14年 191粉丝 462原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值