【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-普通二维码

举报
剑豪 发表于 2023/06/04 00:59:17 2023/06/04
【摘要】 二维码(QR code)起源于日本,是一种具有高密度存储信息的矩阵二维条码。二维码的算法主要包括编码和解码两个部分。

前言

二维码(QR code)起源于日本,是一种具有高密度存储信息的矩阵二维条码。二维码的算法主要包括编码和解码两个部分。

  1. 编码

二维码编码的核心算法是纠错码和数据压缩算法。纠错码是解决二维码因受到噪声或损坏而导致数据丢失的问题,采用RS纠错码、BCH纠错码或Reed-Solomon纠错码。数据压缩算法可以将数据编码后压缩,从而提高编码效率和存储容量。常用的算法有迪杰斯特拉算法和哈夫曼编码算法。

  1. 解码

二维码解码的核心算法是图像处理算法和纠错算法。为了识别二维码,需要先进行图像预处理,包括图像灰度化、二值化、去噪等。然后使用对齐模式识别和边界检测等算法,找到二维码的定位模式和对其进行校正。最后使用解码器对编码的数据进行解码,并使用纠错算法修复数据错误。

总的来说,二维码算法结合了图像处理、编码和纠错等多种技术,可以实现高效的信息存储和快速的信息识别。

一、普通二维码

1.打开题目

在这里插入图片描述

2.解题

打开题目发现是一个二维码 

扫码发现二维码没有falg信息,用winhex打开图片

在这里插入图片描述

146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175

在线八进制转字符串网址:https://www.67tool.com/number/octal-to-text

在这里插入图片描述 得到flag:flag{Have_y0U_Py_script_Otc_To_Ten_Ascii!}

扩展

以下是实现八进制转换为 ASCII 码的 Python 代码示例:

octal_str = "146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175"
octal_list = octal_str.split(" ")
ascii_list = [int(oct, 8) for oct in octal_list]
text = "".join([chr(ascii) for ascii in ascii_list])
print(text)

输出为:

flag{Have_y0U_Py_script_Otc_To_Ten_Ascii!}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。