获取谷歌浏览器保存的密码,可以通过两种方式来实现,分别是使用Python标准库和第三方库。
使用Python标准库
Python标准库中的keyring
模块提供了一种安全的方法来获取本地存储的密码,下面是获取谷歌浏览器保存的密码的完整步骤:
- 安装
keyring
模块。在终端中输入以下命令安装:
bash
pip install keyring
- 导入
keyring
模块
python
import keyring
- 设置
keyring
的密码查找服务为Chrome
python
keyring.set_keyring(keyring.backends.Windows.WinVaultKeyring())
keyring.get_keyring()
这里采用了Windows系统下的WinVaultKeyring,当然不同的操作系统下可能会有不同的方式来设置keyring。
- 获取谷歌浏览器保存的密码
python
credentials = keyring.get_password('Chrome', 'Chrome')
print(credentials)
get_password
方法的两个参数,第一个参数为服务的名称,一般使用浏览器的名字,第二个参数是服务的账号名称,默认为'account'。
以上代码将输出保存的账号密码。
使用第三方库
在第三方库中,有使用浏览器的标准接口来获取密码的库browser-cookie3
,下面是获取谷歌浏览器保存的密码的完整步骤:
- 安装
browser-cookie3
模块。在终端中输入以下命令安装:
bash
pip install browser-cookie3
- 导入
browser-cookie3
模块
python
from browser_cookie3 import chrome
- 获取谷歌浏览器保存的密码
python
cookie_jar = chrome()
login_data = []
for cookie in cookie_jar:
if cookie.name in ['gaia_session_token', 'google_sid']:
login_data.append(cookie.name + '=' + cookie.value)
print(login_data)
以上代码会从cookie中提取出两个值,分别为'gaia_session_token'和'google_sid',这两个cookie存储了谷歌账户的登录信息。
示例1:获取谷歌账户的用户名
python
for cookie in cookie_jar:
if cookie.name == 'LSID':
print(cookie.value.split(':')[-1])
示例2:获取谷歌账户的密码
```python
from Crypto.Cipher import AES
import base64
import json
def get_google_account_password(username):
for cookie in cookie_jar:
if cookie.name == 'google_profile':
google_profile = json.loads(cookie.value)
encrypted_password = base64.b64decode(google_profile['password'])
encryption_key = base64.b64decode(google_profile['encryption_key'])
iv = base64.b64decode(google_profile['iv'])
cipher_suite = AES.new(encryption_key, AES.MODE_CBC, iv)
password_bytes = cipher_suite.decrypt(encrypted_password)[:-ord(encrypted_password[-1])]
password = password_bytes.decode('utf-8')
return password
password = get_google_account_password(username='example@gmail.com')
print(password)
```
以上代码将会输出谷歌账户example@gmail.com的密码。
上述两个示例是根据cookie获取谷歌账户的密码,但是需要注意的是这种方式获取到的密码是加密的,需要解密才能得到明文密码。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python 获取谷歌浏览器保存的密码 - Python技术站