python3讀取MySQL-Front的MYSQL密碼
前言
同樣的套路又來(lái)了,繼續(xù)嘗試從配置文件中讀取敏感的信息,這次輪到的是MySQL-Front。
MySQL-Front就一款開源的mysql管理工具,官方網(wǎng)站http://www.mysqlfront.de/ 。
配置文件的路徑:
MySQL-Front的配置文件存在用戶目錄下,環(huán)境變量是%appdata% 。
在windows7下的存儲(chǔ)路徑是:
C:\Users\%user%\AppData\Roaming\MySQL-Front\Accounts.xml
Accounts.xml這個(gè)XML文件里面存儲(chǔ)了所有重要的信息,且密碼默認(rèn)不是加密的。上次我忘記mysql root用戶的密碼,打開這個(gè)文件立馬就找回密碼,
這個(gè)算是不加密的好處吧?!鷂→不過(guò)總有刁民想害朕,還是需要保護(hù)好這些重要的信息,以免被壞人讀取到。
格式化XML
Accounts.xml 中的內(nèi)容是被壓縮成一行的。需要格式化成好看的格式。這類在線工具搜索一下就可以找得到。
Accounts.xml 格式化后的內(nèi)容如下:
<?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
我出于要練習(xí)的目的,想要用python的XML標(biāo)準(zhǔn)庫(kù)處理XML ,但是發(fā)python 內(nèi)置提供了好幾種方法:xml.sax xml.dom xml.minidom
以及還有xml.parsers.expat ,選擇太多,還是決定用PyQuery,PyQuery是依賴于lxml實(shí)現(xiàn)的jquery風(fēng)格的xml解析和處理庫(kù)。
lxml算是python很重要的庫(kù)了,已知pandas,BeautifulSoup等等這些庫(kù)有部分功能依賴lxml。
輸入命令安裝即可:
pip install pyquery
看完教程后就能把代碼寫出來(lái)了↓↓↓
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())
運(yùn)行代碼后輸出:
---------------------------------------------- host: 127.0.0.1 username: root password: root ---------------------------------------------- host: 127.0.0.1 username: daqin password: daqin
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
- python3使用PyMysql連接mysql數(shù)據(jù)庫(kù)實(shí)例
- Python3.6簡(jiǎn)單操作Mysql數(shù)據(jù)庫(kù)
- linux下python3連接mysql數(shù)據(jù)庫(kù)問(wèn)題
- python3操作mysql數(shù)據(jù)庫(kù)的方法
- 在python3環(huán)境下的Django中使用MySQL數(shù)據(jù)庫(kù)的實(shí)例
- Python3連接MySQL(pymysql)模擬轉(zhuǎn)賬實(shí)現(xiàn)代碼
- python3連接MySQL數(shù)據(jù)庫(kù)實(shí)例詳解
- python3 pandas 讀取MySQL數(shù)據(jù)和插入的實(shí)例
- python3.6連接MySQL和表的創(chuàng)建與刪除實(shí)例代碼
- Python3.6實(shí)現(xiàn)連接mysql或mariadb的方法分析
- Python3實(shí)現(xiàn)的Mysql數(shù)據(jù)庫(kù)操作封裝類
相關(guān)文章
python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹回歸詳解
這篇文章主要為大家詳細(xì)介紹了python機(jī)器學(xué)習(xí)實(shí)戰(zhàn)之樹回歸的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12
python將二維數(shù)組升為一維數(shù)組或二維降為一維方法實(shí)例
在實(shí)際應(yīng)用的過(guò)程中,遇到列表或是數(shù)組的維數(shù)不同,需要變換的問(wèn)題,如二維列表/數(shù)組變成了一維列表/數(shù)組,下面這篇文章主要給大家介紹了關(guān)于python將二維數(shù)組升為一維數(shù)組或二維降為一維的相關(guān)資料,需要的朋友可以參考下2022-11-11
python使用folium庫(kù)繪制地圖點(diǎn)擊框
這篇文章主要為大家詳細(xì)介紹了python使用folium庫(kù)繪制地圖點(diǎn)擊框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
Python實(shí)現(xiàn)3行代碼解簡(jiǎn)單的一元一次方程
這篇文章主要介紹了Python實(shí)現(xiàn)3行代碼解簡(jiǎn)單的一元一次方程,很適合Python初學(xué)者學(xué)習(xí)借鑒,需要的朋友可以參考下2014-08-08
Python 實(shí)現(xiàn)取矩陣的部分列,保存為一個(gè)新的矩陣方法
今天小編就為大家分享一篇Python 實(shí)現(xiàn)取矩陣的部分列,保存為一個(gè)新的矩陣方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11
Python字符串對(duì)齊方法使用(ljust()、rjust()和center())
這篇文章主要介紹了Python字符串對(duì)齊方法使用(ljust()、rjust()和center()),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

