[SWPUCTF 2021 新生赛]非常简单的逻辑题

下载附件后看到源码

# flag = 'xxxxxxxxxxxxxxxxxxxxx'   
# s = 'wesyvbniazxchjko1973652048@$+-&*<>'
# result = ''
# for i in range(len(flag)):       # 循环的次数是flag的长度
#     s1 = ord(flag[i])//17        # 计算s1
#     s2 = ord(flag[i])%17         # 计算s2
#     result += s[(s1+i)%34] + s[-(s2+i+1)%34]   # 这是字符的链接,循环一次得到的是两个字符
# print(result)
# result = 'v0b9n1nkajz@j0c4jjo3oi1h1i937b395i5y5e0e$i'

解释先关函数和运算符......:

flag = "xxxxxxxxxxxxxxxxxxxx"   (这21个x是占位符,等于告诉了我们flag长度是21)

s = 'wesyvbniazxchjko1973652048@$+-&*<>' (这是加密表,就和base64的加密表一样)

result = 'v0b9n1nkajz@j0c4jjo3oi1h1i937b395i5y5e0e$i' (这是加密后的flag)

len()函数:返回字符串、列表、字典、元组等长度

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值