萌新_密码5
由田中 由田井 羊夫 由田人 由中人 羊羊 由由王 由田中 由由大 由田工 由由由 由由羊 由中大
这个是当铺密码:
当铺密码就是一种将中文和数字进行转化的密码,算法相当简单:当前汉字有多少笔画出头,就是转化成数字几。例如:
王夫 井工 夫口 由中人 井中 夫夫 由中大:67 84 70 123 82 77 125
这里用的是师傅的脚本
s ='田由中人工大王夫井羊'
code=input("请输入当铺密码:")
code = code.split(" ")
w = ''
for i in code:
k=""
for j in i:
k+=str(s.index(j))
w+=chr(int(k))
print(w)
贝斯多少呢
8nCDq36gzGn8hf4M2HJUsn4aYcYRBSJwj4aE0hbgpzHb4aHcH1zzC9C3IL
hint: 将明文分段,每段base62,然后拼在一起
思路应该是将密文分段,base62解密,然后把明文拼在一起
但是,这个题没有解出来,58个字符,只能29分段,但是base62解不出来……
2023年11月30日更新
8nCDq36gzGn
8hf4M2HJUsn
4aYcYRBSJwj
4aE0hbgpzHb
4aHcH1zzC9C
3IL
按照这种长度切割即可,要说原因嘛,其实就是穷举,分组长度应该是固定的,但是不一定没有冗余,穷举到可以解码出flag明文片段,后续继续按照该分组长度切割即可
find the table
题目说要审查元素,然后看到这个的属性是数字
千算万算,没想到这个是元素周期表
9 57 64 8 39 8 92 3 19 99 102 74
对应的元素就是
f la gd o y o u li k es no w
再用{}包起来就是flag了
babyrsa
这个是rsa,直接用脚本
import gmpy2
import binascii
e = 65537
p = 10404683
q = 14017
c = 477275
phi = (p-1)*(q-1)
d = gmpy2.invert(e,phi)
m = gmpy2.powmod(c,d,p*q)
print(binascii.unhexlify(hex(m)[2:]))