sha(sha256爆破+维吉尼亚)
题目:
1.py
#sha
sha256 = '5875d1b49d1e75478c37cec83534ac477f939578da80b8e317bb2fb1e525ec7a'
message = '××××mybabywonder'
print(('SHA-256(?+{}) == {}'.format(message[4:],sha256)))
#key=?
2.txt
hint:该密码使用一系列凯撒密码组成密码字母表的加密算法,属于多表密码的一种简单形式
密文:stck{2pm434d60h8r23nf837e07q88n3ei0qj}
key:××××
思路:
爆破key->用key解密,猜测是维吉尼亚
首先,爆破key
exp:
import hashlib
import string
import itertools
char = string.digits + string.ascii_lowercase
print(char)
s = "5875d1b49d1e75478c37cec83534ac477f939578da80b8e317bb2fb1e525ec7a"
for i in itertools.product(char, repeat=4):
key = "".join(i)
message = key + "mybabywonder"
print(message)
c = hashlib.sha256(message.encode()).hexdigest()
if c == s:
print("key>>>", key)
print("c>>>", c)
break
或者使用kali的john工具,设置mask模式,将5875d1b49d1e75478c37cec83534ac477f939578da80b8e317bb2fb1e525ec7a写入1.txt
john --format=raw-sha256 --mask='?a?a?a?amybabywonder' 1.txt
最后是维吉尼亚