【Sword系列】第七届全国残疾人职业技能大赛样题-网络安全-word弱口令2
【摘要】 异或算法,也称为按位异或(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运行: 得到flag:idf.cn.passwd
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)