sqlyog的配置文件解读
(2022-07-27 20:51:53)
标签:
python |
分类: python |
sqlyog是一款商业开源软件,非常不错的MySQL管理工具。因为一开始就用,所以这么长时间都很习惯了。
tmp =
base64.b64decode(base64str)
return
bytearray([(b<<1&255)|(b>>7) for b in
tmp]).decode("utf8")
name =
ini.get(c,'name')
host =
ini.get(c,'host')
user =
ini.get(c,'user')
b64pass =
ini.get(c,'password')
password =
decode(b64pass)
print(name,host,user,sep='\n')
print('密码',password)
print('----------------------------------------------------------------------------------')
不过,总有更换电脑,或者重装系统的时候;亦或,MySQL数据库的密码忘记了。那么,如何解决sqlyog的配置文件。
1、配置文件存储位置
sqlyog会把配置文件存在用户目录下:
C:\Users%user%\AppData\Roaming\SQLyog\sqlyog.ini。取环境变量%AppData% 加上
SQLyog\sqlyog.ini 也可以。
2、配置文件样式,以下是ini文件的样式:
[UserInterface]
Language=zh-cn
Version=2
ThemeFile=963
ThemeType=1
[Themedetails]
ThemeFile=964
ThemeType=1
[SQLYOG]
Encoding=utf8
Left=0
Top=0
Right=600
Bottom=600
Maximize=0
Host=新连接
ChildMaximized=1
[Connection 1]
Name=新连接
Host=localhost
User=root
StorePassword=1
Password=sLBzS1h0309zR9IxMQ==
Port=3306
Database=
......
3、解析密码。密码可以反向运算进行解析,在此使用Python进行解析运算。
"=="号是base64编码最明显的特征,一般看到类似sLBzS1h0309zR9IxMQ==这样的字符,就知道是base64。
sqlyog对密码的编码过程是对密码的字节分别进行位运算后,再进行base64编码存在配置文件中。
另一个需要注意的是python的bit左移是会进位的,所以需要和255进行与运算。
看一下Python的与运算:
>>> 2<<10
2048
>>> 2<<10&255
0
4、密码解析完整代码
# -*- coding: utf-8 -*-
"""
Created on 2017-03-15 07:42:58
@author: codegay
"""
import os
import configparser
import base64
def decode(base64str):
sqlyogini =
os.environ.get('APPDATA')+"\\SQLyog\\sqlyog.ini"
print("sqlyogini文件路径:",sqlyogini)
ini = configparser.ConfigParser()
ini.read(sqlyogini,encoding='utf8')
connections = [r for r in ini.sections() if 'name' in
ini.options(r) and ini.get(r,'password')]
for c in connections:
程序运行的输出为:
sqlyogini文件路径:
C:\Users\root\AppData\Roaming\SQLyog\sqlyog.ini
新连接
localhost
root
密码 aa新连接bb
前一篇:Python的装饰器
后一篇:Django之ORM的使用

加载中…