下载附件后看到源码
# 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()函数:返回字符串、列表、字典、元组等长度