解码脚本如下:
from Crypto.Cipher import AES from binascii import a2b_hex class PrpCrypt(object): def __init__(self): self.key = 'libcckeylibcckey'.encode('utf-8') self.mode = AES.MODE_CBC self.iv = 'libcciv libcciv '.encode('utf-8') def decrypt(self, text): text = text.encode('utf-8') if type(text) == str else text cryptor = AES.new(self.key, self.mode, self.iv) plain_text = cryptor.decrypt(a2b_hex(text)) return bytes.decode(plain_text).rstrip() if __name__ == '__main__': pc = PrpCrypt() print('密码:', pc.decrypt('727F197D38E9AD02E797165FFA83AE8E7B523BEA9E073FD73BD9AA0F1B896BFB'))
将navicat导出的connections.ncx文件打开,找到密码,粘贴到上述脚本中。
执行后报错
pycham安装crypto后还是报错,默认安装后文件夹名称是小写,需要将首字母改为大写。
此时进入该文件夹发现仍不存在Cipher,执行脚本还是报错
需要再安装pycryptodome,安装后查看文件夹Cipher已经存在了
再执行脚本就能解码出密码了。但是解码后存在一部分乱码,实际密码是乱码前的那部分信息,试了几个发现是偶现情况,这个目前还没搞清楚原因,有知道的可以在评论区告诉我