一,题目--简单加密
e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA
二,分析
- 1,给定的字符串挺无规则的,看到最后两个字母"AA",可以让我们联想到base64编码的"=="。
- 2,其中A的ascii码对应的是65,=的ascii码对应的是61。
- 3,给定的密文的字符串每个字符的ascii减去4(65-61),最后再base64解密。
代码如下:
# coding:utf-8
import base64
strs = "e6Z9i~]8R~U~QHE{RnY{QXg~QnQ{^XVlRXlp^XI5Q6Q6SKY8jUAA";
offset = ord('A')-ord('=')
print(offset)
list_str=[]
for i,ch in enumerate(strs):
c = chr(ord(ch)-4)
list_str.append(c)
base64_str = "".join(list_str)
plain_text = base64.b64decode(base64_str)
print(plain_text)#key{68743000650173230e4a58ee153c68e8}
三,知识点
- ascii码
- base64编码的特点
网友评论