【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-word弱口令2

举报
剑豪 发表于 2023/05/31 23:47:19 2023/05/31
【摘要】 异或算法,也称为按位异或(XOR)算法,是一种比较常用的二进制位运算算法。它是指两个二进制数中,相同位的数值不同则为1,相同则为0。

前言

异或算法,也称为按位异或(XOR)算法,是一种比较常用的二进制位运算算法。它是指两个二进制数中,相同位的数值不同则为1,相同则为0。

在编程中,异或算法常用于加密和校验方面,它能够将明文与密钥异或后生成密文,从而达到加密的目的。同时,由于异或算法是可逆的,因此在接收到密文后,只需要再将密文与密钥异或,就可以得到原始的明文信息。

异或算法的另一个常用场景是校验,例如在计算机网络通信中,常需要使用校验和来验证数据的完整性。在计算校验和时,可以采用异或算法对所有数据进行按位异或,得到的结果就是校验和。在接收方收到数据后,同样使用异或算法计算校验和,然后将得到的结果与传输过来的校验和进行比较,如果相等,则说明数据未被篡改。

Python中的16进制异或算法可以通过两种方式来实现。第一种方式是将16进制数转化为整数,进行异或运算后再转化为16进制格式的字符串。第二种方式是直接对两个16进制字符串进行位运算。

方式一:

a = int('A5',16)  #将16进制数转化为整数
b = int('F0',16)
​
result = hex(a ^ b) #按位异或运算
print(result)  #输出16进制格式的字符串

方式二:

a = 'A5'
b = 'F0'
​
a_num = int(a, 16)
b_num = int(b, 16)
​
result = a_num ^ b_num #按位异或运算
result_str = hex(result) #将结果转化为16进制格式的字符串
​
print(result_str) #输出16进制格式的字符串

以上两种方式都可以实现16进制异或运算,具体选择哪种方法可以根据实际需求来决定。

一、word弱口令2

1.打开题目

在这里插入图片描述

2.解题

在这里插入图片描述

str=[0x78,0x75,0x77,0x3F,0x72,0x7F,0x3F,0x61,0x70,0x62,0x62,0x66,0x75]
flag=""
for i in range(0,len(str)):
    flag+=chr(str[i]^0x11)
print(flag)

在线python运行:https://www.crossincode.com/oj/output/ 在这里插入图片描述 得到flag:idf.cn.passwd

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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