163545
This commit is contained in:
Binary file not shown.
+2858
-2858
File diff suppressed because it is too large
Load Diff
+2790
-2790
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+2789
-2789
File diff suppressed because it is too large
Load Diff
Binary file not shown.
+68
-68
@@ -707,46 +707,10 @@
|
||||
('pkg_resources',
|
||||
'c:\\program files\\python\\lib\\site-packages\\pkg_resources\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.markers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\markers.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.requirements',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\requirements.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.utils',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\utils.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging._compat',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_compat.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.tags',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\tags.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.__about__',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\__about__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.pyparsing',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\pyparsing.py',
|
||||
'PYMODULE'),
|
||||
('uuid', 'c:\\program files\\python\\lib\\uuid.py', 'PYMODULE'),
|
||||
('netbios',
|
||||
'c:\\program files\\python\\lib\\site-packages\\win32\\lib\\netbios.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.appdirs',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\appdirs.py',
|
||||
@@ -759,6 +723,22 @@
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\win32comext\\shell\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.requirements',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\requirements.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.pyparsing',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\pyparsing.py',
|
||||
'PYMODULE'),
|
||||
('uuid', 'c:\\program files\\python\\lib\\uuid.py', 'PYMODULE'),
|
||||
('netbios',
|
||||
'c:\\program files\\python\\lib\\site-packages\\win32\\lib\\netbios.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging._structures',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_structures.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.six',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\six.py',
|
||||
@@ -767,13 +747,33 @@
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\version.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.tags',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\tags.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.specifiers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\specifiers.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging._structures',
|
||||
('pkg_resources._vendor',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_structures.py',
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.utils',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\utils.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging.markers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\markers.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources._vendor.packaging._compat',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\pkg_resources\\_vendor\\packaging\\_compat.py',
|
||||
'PYMODULE'),
|
||||
('pkg_resources.py31compat',
|
||||
'c:\\program '
|
||||
@@ -786,8 +786,8 @@
|
||||
('pkg_resources.py2_warn',
|
||||
'c:\\program files\\python\\lib\\site-packages\\pkg_resources\\py2_warn.py',
|
||||
'PYMODULE'),
|
||||
('_py_abc', 'c:\\program files\\python\\lib\\_py_abc.py', 'PYMODULE'),
|
||||
('stringprep', 'c:\\program files\\python\\lib\\stringprep.py', 'PYMODULE'),
|
||||
('_py_abc', 'c:\\program files\\python\\lib\\_py_abc.py', 'PYMODULE'),
|
||||
('Crypto.Cipher.Blowfish',
|
||||
'c:\\program files\\python\\lib\\site-packages\\Crypto\\Cipher\\Blowfish.py',
|
||||
'PYMODULE'),
|
||||
@@ -891,29 +891,17 @@
|
||||
('setuptools',
|
||||
'c:\\program files\\python\\lib\\site-packages\\setuptools\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.specifiers',
|
||||
('setuptools._vendor.packaging.tags',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\specifiers.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.pyparsing',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\pyparsing.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.markers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\markers.py',
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\tags.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging._compat',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\_compat.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.ordered_set',
|
||||
('setuptools._vendor.packaging.specifiers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\ordered_set.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.tags',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\tags.py',
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\specifiers.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.requirements',
|
||||
'c:\\program '
|
||||
@@ -927,29 +915,41 @@
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\extern\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.__about__',
|
||||
('setuptools._vendor.pyparsing',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\__about__.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.utils',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\utils.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.version',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\version.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.six',
|
||||
'c:\\program files\\python\\lib\\site-packages\\setuptools\\_vendor\\six.py',
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\pyparsing.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\__init__.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.version',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\version.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.utils',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\utils.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging._structures',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\_structures.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.__about__',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\__about__.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.six',
|
||||
'c:\\program files\\python\\lib\\site-packages\\setuptools\\_vendor\\six.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging.markers',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\markers.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.ordered_set',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\ordered_set.py',
|
||||
'PYMODULE'),
|
||||
('setuptools._vendor.packaging',
|
||||
'c:\\program '
|
||||
'files\\python\\lib\\site-packages\\setuptools\\_vendor\\packaging\\__init__.py',
|
||||
|
||||
Binary file not shown.
@@ -15,7 +15,7 @@ IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for
|
||||
yourself tracking down the missing module. Thanks!
|
||||
|
||||
missing module named _posixsubprocess - imported by subprocess (optional), multiprocessing.util (delayed)
|
||||
missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional), setuptools.sandbox (conditional)
|
||||
missing module named org - imported by copy (optional)
|
||||
missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level)
|
||||
excluded module named _frozen_importlib - imported by importlib (optional), importlib.abc (optional), zipimport (top-level), PyInstaller.loader.pyimod02_archive (delayed, conditional)
|
||||
missing module named urllib.pathname2url - imported by urllib (conditional), PyInstaller.lib.modulegraph._compat (conditional)
|
||||
@@ -35,28 +35,27 @@ missing module named multiprocessing.BufferTooShort - imported by multiprocessin
|
||||
missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level)
|
||||
missing module named asyncio.DefaultEventLoopPolicy - imported by asyncio (delayed, conditional), asyncio.events (delayed, conditional)
|
||||
missing module named readline - imported by cmd (delayed, conditional, optional), code (delayed, conditional, optional), pdb (delayed, optional)
|
||||
missing module named org - imported by pickle (optional)
|
||||
missing module named 'org.python' - imported by pickle (optional), xml.sax (delayed, conditional), setuptools.sandbox (conditional)
|
||||
missing module named grp - imported by shutil (optional), tarfile (optional), pathlib (delayed), distutils.archive_util (optional)
|
||||
missing module named pwd - imported by posixpath (delayed, conditional), shutil (optional), tarfile (optional), pathlib (delayed, conditional, optional), http.server (delayed, optional), webbrowser (delayed), netrc (delayed, conditional), getpass (delayed), distutils.util (delayed, conditional, optional), distutils.archive_util (optional), psutil (optional)
|
||||
missing module named posix - imported by os (conditional, optional), shutil (conditional)
|
||||
missing module named 'win32com.gen_py' - imported by win32com (conditional, optional), C:\Program Files\python\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_win32comgenpy.py (top-level)
|
||||
missing module named 'multiprocessing.forking' - imported by C:\Program Files\python\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_multiprocessing.py (optional)
|
||||
missing module named 'win32com.gen_py' - imported by win32com (conditional, optional), C:\Program Files\python\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_win32comgenpy.py (top-level)
|
||||
missing module named pyimod03_importers - imported by PyInstaller.loader.pyimod02_archive (delayed, conditional), C:\Program Files\python\Lib\site-packages\PyInstaller\loader\rthooks\pyi_rth_pkgres.py (top-level)
|
||||
missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.requirements (top-level), pkg_resources._vendor.packaging.markers (top-level)
|
||||
missing module named _manylinux - imported by pkg_resources._vendor.packaging.tags (delayed, optional), setuptools._vendor.packaging.tags (delayed, optional)
|
||||
missing module named 'com.sun' - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional)
|
||||
missing module named com - imported by pkg_resources._vendor.appdirs (delayed)
|
||||
missing module named 'pkg_resources.extern.pyparsing' - imported by pkg_resources._vendor.packaging.markers (top-level), pkg_resources._vendor.packaging.requirements (top-level)
|
||||
missing module named _uuid - imported by uuid (optional)
|
||||
missing module named __builtin__ - imported by pkg_resources._vendor.pyparsing (conditional), setuptools._vendor.pyparsing (conditional)
|
||||
missing module named ordereddict - imported by pkg_resources._vendor.pyparsing (optional), setuptools._vendor.pyparsing (optional)
|
||||
missing module named 'com.sun' - imported by pkg_resources._vendor.appdirs (delayed, conditional, optional)
|
||||
missing module named com - imported by pkg_resources._vendor.appdirs (delayed)
|
||||
missing module named StringIO - imported by Crypto.Util.py3compat (conditional), PyInstaller.lib.modulegraph._compat (conditional), PyInstaller.lib.modulegraph.zipio (conditional), setuptools._vendor.six (conditional), pkg_resources._vendor.six (conditional)
|
||||
missing module named _manylinux - imported by pkg_resources._vendor.packaging.tags (delayed, optional), setuptools._vendor.packaging.tags (delayed, optional)
|
||||
missing module named pkg_resources.extern.packaging - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
|
||||
missing module named pkg_resources.extern.appdirs - imported by pkg_resources.extern (top-level), pkg_resources (top-level)
|
||||
missing module named 'pkg_resources.extern.six.moves' - imported by pkg_resources (top-level), pkg_resources._vendor.packaging.requirements (top-level)
|
||||
missing module named pkg_resources.extern.six - imported by pkg_resources.extern (top-level), pkg_resources (top-level), pkg_resources.py31compat (top-level)
|
||||
missing module named dummy_thread - imported by cffi.lock (conditional, optional)
|
||||
missing module named thread - imported by cffi.lock (conditional, optional), cffi.cparser (conditional, optional), PyInstaller.loader.pyimod02_archive (conditional)
|
||||
missing module named 'setuptools.extern.pyparsing' - imported by setuptools._vendor.packaging.requirements (top-level), setuptools._vendor.packaging.markers (top-level)
|
||||
runtime module named setuptools.extern.six.moves - imported by setuptools.dist (top-level), configparser (top-level), setuptools.command.easy_install (top-level), setuptools.sandbox (top-level), setuptools.command.setopt (top-level), setuptools.package_index (top-level), setuptools.ssl_support (top-level), setuptools.py33compat (top-level), setuptools.command.egg_info (top-level), setuptools.command.py36compat (top-level), setuptools.msvc (top-level), setuptools.namespaces (top-level), 'setuptools._vendor.six.moves' (top-level)
|
||||
missing module named setuptools.extern.six.moves.filterfalse - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.msvc (top-level)
|
||||
missing module named setuptools.extern.six.moves.filter - imported by setuptools.extern.six.moves (top-level), setuptools.dist (top-level), setuptools.ssl_support (top-level), setuptools.command.py36compat (top-level)
|
||||
@@ -65,6 +64,7 @@ missing module named setuptools.extern.six - imported by setuptools.extern (top-
|
||||
missing module named setuptools.extern.ordered_set - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.sdist (top-level)
|
||||
missing module named setuptools.extern.packaging - imported by setuptools.extern (top-level), setuptools.dist (top-level), setuptools.command.egg_info (top-level)
|
||||
missing module named 'setuptools._vendor.six.moves' - imported by 'setuptools._vendor.six.moves' (top-level)
|
||||
missing module named 'setuptools.extern.pyparsing' - imported by setuptools._vendor.packaging.markers (top-level), setuptools._vendor.packaging.requirements (top-level)
|
||||
missing module named 'setuptools.extern.packaging.utils' - imported by setuptools.wheel (top-level)
|
||||
missing module named 'setuptools.extern.packaging.tags' - imported by setuptools.wheel (top-level)
|
||||
missing module named 'numpy_distutils.cpuinfo' - imported by numpy.f2py.diagnose (delayed, conditional, optional)
|
||||
|
||||
@@ -367,7 +367,7 @@ imported by:
|
||||
<a target="code" href="" type="text/plain"><tt>'org.python'</tt></a>
|
||||
<span class="moduletype">MissingModule</span> <div class="import">
|
||||
imported by:
|
||||
<a href="#copy">copy</a>
|
||||
<a href="#pickle">pickle</a>
|
||||
• <a href="#setuptools.sandbox">setuptools.sandbox</a>
|
||||
• <a href="#xml.sax">xml.sax</a>
|
||||
|
||||
@@ -5035,8 +5035,8 @@ imported by:
|
||||
<a target="code" href="///C:/program%20files/python/lib/copy.py" type="text/plain"><tt>copy</tt></a>
|
||||
<span class="moduletype">SourceModule</span> <div class="import">
|
||||
imports:
|
||||
<a href="#'org.python'">'org.python'</a>
|
||||
• <a href="#copyreg">copyreg</a>
|
||||
<a href="#copyreg">copyreg</a>
|
||||
• <a href="#org">org</a>
|
||||
• <a href="#types">types</a>
|
||||
• <a href="#weakref">weakref</a>
|
||||
|
||||
@@ -19325,7 +19325,7 @@ imported by:
|
||||
<a target="code" href="" type="text/plain"><tt>org</tt></a>
|
||||
<span class="moduletype">MissingModule</span> <div class="import">
|
||||
imported by:
|
||||
<a href="#pickle">pickle</a>
|
||||
<a href="#copy">copy</a>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -19702,7 +19702,8 @@ imported by:
|
||||
<a target="code" href="///C:/program%20files/python/lib/pickle.py" type="text/plain"><tt>pickle</tt></a>
|
||||
<span class="moduletype">SourceModule</span> <div class="import">
|
||||
imports:
|
||||
<a href="#_compat_pickle">_compat_pickle</a>
|
||||
<a href="#'org.python'">'org.python'</a>
|
||||
• <a href="#_compat_pickle">_compat_pickle</a>
|
||||
• <a href="#_pickle">_pickle</a>
|
||||
• <a href="#argparse">argparse</a>
|
||||
• <a href="#codecs">codecs</a>
|
||||
@@ -19711,7 +19712,6 @@ imports:
|
||||
• <a href="#functools">functools</a>
|
||||
• <a href="#io">io</a>
|
||||
• <a href="#itertools">itertools</a>
|
||||
• <a href="#org">org</a>
|
||||
• <a href="#pprint">pprint</a>
|
||||
• <a href="#re">re</a>
|
||||
• <a href="#struct">struct</a>
|
||||
|
||||
Vendored
BIN
Binary file not shown.
@@ -9,29 +9,52 @@ class NavicatPassword:
|
||||
self.aes_iv = b'libcciv libcciv '
|
||||
|
||||
def decrypt(self, encrypted_str):
|
||||
data = binascii.unhexlify(encrypted_str.lower())
|
||||
cipher = AES.new(self.aes_key, AES.MODE_CBC, self.aes_iv)
|
||||
return cipher.decrypt(data).decode('utf-8').rstrip('\x00')
|
||||
try:
|
||||
data = binascii.unhexlify(encrypted_str.lower())
|
||||
cipher = AES.new(self.aes_key, AES.MODE_CBC, self.aes_iv)
|
||||
decrypted = cipher.decrypt(data)
|
||||
# 处理可能的填充字符
|
||||
decrypted = decrypted.rstrip(b'\x00')
|
||||
# 尝试UTF-8解码,失败则使用latin1
|
||||
try:
|
||||
return decrypted.decode('utf-8')
|
||||
except UnicodeDecodeError:
|
||||
return decrypted.decode('latin1')
|
||||
except Exception as e:
|
||||
raise ValueError(f"解密失败: {str(e)}")
|
||||
|
||||
class App:
|
||||
def __init__(self, root):
|
||||
self.root = root
|
||||
self.root.title("Navicat密码解密工具")
|
||||
|
||||
self.version = tk.IntVar(value=12)
|
||||
self.password = tk.StringVar()
|
||||
|
||||
self.create_widgets()
|
||||
|
||||
def create_widgets(self):
|
||||
tk.Label(self.root, text="Navicat版本:").grid(row=0, column=0, padx=5, pady=5)
|
||||
tk.Radiobutton(self.root, text="11", variable=self.version, value=11).grid(row=0, column=1, sticky="w")
|
||||
tk.Radiobutton(self.root, text="12", variable=self.version, value=12).grid(row=0, column=2, sticky="w")
|
||||
tk.Label(self.root, text="加密密码:").grid(row=0, column=0, padx=5, pady=5)
|
||||
tk.Entry(self.root, textvariable=self.password, width=30).grid(row=0, column=1)
|
||||
|
||||
tk.Label(self.root, text="加密密码:").grid(row=1, column=0, padx=5, pady=5)
|
||||
tk.Entry(self.root, textvariable=self.password, width=30).grid(row=1, column=1, columnspan=2)
|
||||
tk.Button(self.root, text="解密", command=self.decrypt_password).grid(row=1, column=1, pady=10)
|
||||
|
||||
tk.Button(self.root, text="解密", command=self.decrypt_password).grid(row=2, column=1, pady=10)
|
||||
def show_result(self, result):
|
||||
top = tk.Toplevel(self.root)
|
||||
top.title("解密结果")
|
||||
|
||||
tk.Label(top, text="解密后的密码:").pack(padx=20, pady=5)
|
||||
|
||||
# 使用支持更多字符的字体
|
||||
font = ('Courier New', 12)
|
||||
result_text = tk.Text(top, height=1, width=30, font=font)
|
||||
result_text.insert(tk.END, result)
|
||||
result_text.config(state=tk.DISABLED)
|
||||
result_text.pack(padx=20, pady=5)
|
||||
|
||||
def copy_to_clipboard():
|
||||
self.root.clipboard_clear()
|
||||
self.root.clipboard_append(result)
|
||||
|
||||
tk.Button(top, text="复制密码", command=copy_to_clipboard).pack(pady=10)
|
||||
|
||||
def decrypt_password(self):
|
||||
password = self.password.get().strip()
|
||||
@@ -40,9 +63,9 @@ class App:
|
||||
return
|
||||
|
||||
try:
|
||||
navicat = NavicatPassword(self.version.get())
|
||||
navicat = NavicatPassword()
|
||||
result = navicat.decrypt(password)
|
||||
messagebox.showinfo("解密结果", f"解密后的密码是:\n{result}")
|
||||
self.show_result(result)
|
||||
except Exception as e:
|
||||
messagebox.showerror("错误", f"解密失败:{str(e)}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user