python 3 MySQL-Front 의 MYSQL 암 호 를 읽 습 니 다.

3885 단어 python3읽 기
머리말
같은 방법 이 또 왔 습 니 다.설정 파일 에서 민감 한 정 보 를 계속 읽 으 려 고 시도 합 니 다.이번 에는 MySQL-Front 차례 입 니 다.
MySQL-Front 는 오픈 소스 의 my sql 관리 도구,공식 사이트http://www.mysqlfront.de/에 대해
설정 파일 의 경로:
MySQL-Front 의 프로필 은 사용자 디 렉 터 리 에 존재 하 며 환경 변 수 는%appdata%입 니 다.
windows 7 의 저장 경 로 는:C:\Users\%user%\AppData\Roaming\MySQL-Front\Accounts.xmlAccounts.xml 이 XML 파일 에는 모든 중요 한 정보 가 저장 되 어 있 으 며 암 호 는 기본적으로 암호 화 되 어 있 지 않 습 니 다.지난번 에 my sql 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튜 토리 얼 을 보고 코드 를 쓸 수 있 습 니 다.↓↓↓↓
python 3 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
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!

좋은 웹페이지 즐겨찾기