问题描述
我从服务器获取 k_dh
作为整数:
k_dh = 119503520092559061448841199568006105540928326398312683239977940696158565641455510032815414544631246909440988946150279621651776468095255682411875734678137913094987602893885584001153718721315823055714857464429284631169985212295788520092555311452302786716587927084384268157895132756379511638032100445133977318010
我必须从中获取最后 16 个字节,我这样做,将其转换为 HEX
并获取最后 32 个 HEX
字符:
key = str(hex(int(k_dh)))[-32:]
另外,我还从服务器收到密文:
chipertext = a6e0397f88668030aa861bb09fee236d
我将其转换为字节:
ciphertext = b'\xa6\xe09\x7f\x88f\x800\xaa\x86\x1b\xb0\x9f\xee#m'
使用:ciphertext = bytes.fromhex(ciphertext)
然后我尝试解密但没有成功:
key = unhexlify(key)
IV = Random.new().read(AES.block_size)
decipher = AES.new(key,AES.MODE_CBC,IV)
plaintext = decipher.decrypt(to_decrypt)
print(plaintext)
这给了我 b'\x8d]\xd9)I*\x90\xe52\x88\x04\xc7\xcc+8/'
。
应该是一个可读的句子,有什么地方不对,但我不知道在哪里。
希望有人能发现我的错误。 谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)