python3读取MySQL-Front的MYSQL密码


Posted in Python onMay 03, 2017

前言

同样的套路又来了,继续尝试从配置文件中读取敏感的信息,这次轮到的是MySQL-Front

MySQL-Front就一款开源的mysql管理工具,官方网站http://www.mysqlfront.de/ 。

配置文件的路径:

MySQL-Front的配置文件存在用户目录下,环境变量是%appdata% 。

在windows7下的存储路径是:

C:\Users\%user%\AppData\Roaming\MySQL-Front\Accounts.xml

Accounts.xml这个XML文件里面存储了所有重要的信息,且密码默认不是加密的。上次我忘记mysql root用户的密码,打开这个文件立马就找回密码,

这个算是不加密的好处吧。→_→不过总有刁民想害朕,还是需要保护好这些重要的信息,以免被坏人读取到。

格式化XML

Accounts.xml 中的内容是被压缩成一行的。需要格式化成好看的格式。这类在线工具搜索一下就可以找得到。

Accounts.xml 格式化后的内容如下:

<?xml version="1.0" encoding="utf-8"?>
<accounts version="1.1.0">
 <default>127.0.0.1</default>
 <account name="127.0.0.1">
 <lastlogin>42847.9391816088</lastlogin>
 <manualurl version="5.0.22-community-nt"></manualurl>
 <connection>
  <database></database>
  <host>127.0.0.1</host>
  <library>
  <filename>libMySQL.dll</filename>
  <tunnel_url></tunnel_url>
  </library>
  <password encode="none">root</password>
  <port>3306</port>
  <user>root</user>
 </connection>
 <favorites />
 </account>
 <account name="daqin">
 <lastlogin>0</lastlogin>
 <manualurl version=""></manualurl>
 <connection>
  <database></database>
  <host>127.0.0.1</host>
  <library>
  <filename>libMySQL.dll</filename>
  <tunnel_url></tunnel_url>
  </library>
  <password encode="none">daqin</password>
  <port>3306</port>
  <user>daqin</user>
 </connection>
 <favorites />
 </account>
</accounts>

python处理XML、HTML的利器PyQuery

我出于要练习的目的,想要用python的XML标准库处理XML ,但是发python 内置提供了好几种方法:xml.sax xml.dom xml.minidom

以及还有xml.parsers.expat ,选择太多,还是决定用PyQuery,PyQuery是依赖于lxml实现的jquery风格的xml解析和处理库。

lxml算是python很重要的库了,已知pandas,BeautifulSoup等等这些库有部分功能依赖lxml。

输入命令安装即可:

pip install pyquery

看完教程后就能把代码写出来了↓↓↓

python3 读取 MySQL-Front 的密码:

# -*- coding: utf-8 -*-
"""
Created on 2017-04-22 22:53:35

@author: codegay
"""
import os
from pyquery import PyQuery as pyq

xmlpath = os.environ['appdata']+r'\MySQL-Front\Accounts.xml'

root = pyq(filename=xmlpath)
for r in root('connection').items():
 print("----------------------------------------------")
 print('host:',r('host').text())
 print('username:',r('user').text())
 print('password:',r('password').text())

运行代码后输出:

----------------------------------------------
host: 127.0.0.1
username: root
password: root
----------------------------------------------
host: 127.0.0.1
username: daqin
password: daqin

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Python 相关文章推荐
python 简易计算器程序,代码就几行
Aug 29 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
python中numpy.zeros(np.zeros)的使用方法
Nov 07 Python
Python使用matplotlib绘制余弦的散点图示例
Mar 14 Python
对Python random模块打乱数组顺序的实例讲解
Nov 08 Python
python协程之动态添加任务的方法
Feb 19 Python
PyQt5实现简单数据标注工具
Mar 18 Python
Python Flask框架模板操作实例分析
May 03 Python
python实现tail -f 功能
Jan 17 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
Tensorflow--取tensorf指定列的操作方式
Jun 30 Python
python-地图可视化组件folium的操作
Dec 14 Python
Python判断变量是否为Json格式的字符串示例
May 03 #Python
Windows和Linux下Python输出彩色文字的方法教程
May 02 #Python
python中字符串类型json操作的注意事项
May 02 #Python
python实现逻辑回归的方法示例
May 02 #Python
pycharm中连接mysql数据库的步骤详解
May 02 #Python
Python多线程实现同步的四种方式
May 02 #Python
Python之Web框架Django项目搭建全过程
May 02 #Python
You might like
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
thinkphp实现图片上传功能
2016/01/13 PHP
JsRender实用入门教程
2014/10/31 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
jquery实现兼容IE8的异步上传文件
2015/06/15 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
js将table的每个td的内容自动赋值给其title属性的方法
2016/10/13 Javascript
JS匹配日期和时间的正则表达式示例
2017/05/12 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
JavaScript 中的 this 工作原理
2018/06/20 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
html+vue.js 实现漂亮分页功能可兼容IE
2020/11/07 Javascript
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
python os.listdir按文件存取时间顺序列出目录的实例
2018/10/21 Python
pycharm打开命令行或Terminal的方法
2019/01/16 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
用django设置session过期时间的方法解析
2019/08/05 Python
python中使用while循环的实例
2019/08/05 Python
pygame库实现俄罗斯方块小游戏
2019/10/29 Python
HTML5去掉输入框type为number时的上下箭头的实现方法
2020/01/03 HTML / CSS
巴西宠物店在线:Geração Pet
2017/05/31 全球购物
印度购买眼镜和太阳镜网站:Coolwinks
2018/09/26 全球购物
Abbott Lyon官网:女士手表、珠宝及配件
2020/12/26 全球购物
学生会主席竞聘书
2014/03/31 职场文书
运动会班级口号
2014/06/09 职场文书
节能环保标语
2014/06/12 职场文书
党课培训心得体会
2014/09/02 职场文书
整改落实自查报告
2014/11/05 职场文书
2014年财务科工作总结
2014/11/11 职场文书
工作推荐信模板
2015/03/25 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python