python 获取谷歌浏览器保存的密码

获取谷歌浏览器保存的密码,可以通过两种方式来实现,分别是使用Python标准库和第三方库。

使用Python标准库

Python标准库中的keyring模块提供了一种安全的方法来获取本地存储的密码,下面是获取谷歌浏览器保存的密码的完整步骤:

  1. 安装keyring模块。在终端中输入以下命令安装:

bash
pip install keyring

  1. 导入keyring模块

python
import keyring

  1. 设置keyring的密码查找服务为Chrome

python
keyring.set_keyring(keyring.backends.Windows.WinVaultKeyring())
keyring.get_keyring()

这里采用了Windows系统下的WinVaultKeyring,当然不同的操作系统下可能会有不同的方式来设置keyring。

  1. 获取谷歌浏览器保存的密码

python
credentials = keyring.get_password('Chrome', 'Chrome')
print(credentials)

get_password方法的两个参数,第一个参数为服务的名称,一般使用浏览器的名字,第二个参数是服务的账号名称,默认为'account'。

以上代码将输出保存的账号密码。

使用第三方库

在第三方库中,有使用浏览器的标准接口来获取密码的库browser-cookie3,下面是获取谷歌浏览器保存的密码的完整步骤:

  1. 安装browser-cookie3模块。在终端中输入以下命令安装:

bash
pip install browser-cookie3

  1. 导入browser-cookie3模块

python
from browser_cookie3 import chrome

  1. 获取谷歌浏览器保存的密码

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技术站

(0)
上一篇 2023年5月25日
下一篇 2023年5月25日

相关文章

  • Python Django 添加首页尾页上一页下一页代码实例

    下面是Python Django 添加首页尾页上一页下一页代码的详细攻略。 1. 编写视图函数 在 Django 中,对于分页操作,我们需要自定义视图函数来实现。这个函数需要对数据进行分页,并将分页后的数据传递到模板中。下面是一个示例代码: def index(request): current_page = request.GET.get(‘page’) …

    人工智能概论 2023年5月25日
    00
  • 解决django migrate报错ORA-02000: missing ALWAYS keyword

    首先,该错误信息指明数据库中的某个字段缺少 ALWAYS 关键字,而 ALWAYS 关键字表示该字段不能为 NULL。 要解决这个问题,我们可以按照以下操作步骤: 1. 确认问题 在运行 python manage.py migrate 命令时,出现了 ORA-02000: missing ALWAYS keyword 错误提示,表明数据迁移时缺少 DEVN…

    人工智能概览 2023年5月25日
    00
  • 浅谈SpringCloud之Ribbon详解

    浅谈SpringCloud之Ribbon详解 1. Ribbon简介 Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它可以在请求微服务时自动进行负载均衡。Spring Cloud Ribbon自带了完整的客户端负载均衡解决方案,并且与Eureka、Consul等注册中心配合使用时,可以在服务发现的基础上进行负载均衡,使得微服务之间的调用更加均衡…

    人工智能概览 2023年5月25日
    00
  • Spring Data MongoDB中实现自定义级联的方法详解

    标题:Spring Data MongoDB中实现自定义级联的方法详解 简介 Spring Data MongoDB是用来操作MongoDB的一个高级框架,提供了很多方便快捷的数据访问方案。本文将详细介绍如何在Spring Data MongoDB中实现自定义级联,同时提供两条示例说明。 自定义级联 在使用MongoDB数据库时,经常需要进行关联查询,而且不…

    人工智能概论 2023年5月25日
    00
  • Django多层嵌套ManyToMany字段ORM操作详解

    Django多层嵌套ManyToMany字段ORM操作详解 在Django中,我们可以使用ORM来定义模型之间的关系,其中ManyToMany字段是一种常见的关系类型,它可以实现多对多的关系。 当多个模型之间存在多层嵌套的ManyToMany字段时,我们需要注意如何进行操作。本文将详细讲解Django在多层嵌套ManyToMany字段上的ORM操作。 准备工…

    人工智能概论 2023年5月25日
    00
  • Nginx配置之main events块使用示例详解

    下面我将详细讲解“Nginx配置之main events块使用示例详解”的完整攻略。 标题 1. Nginx配置之main events块使用示例详解 简介 在Nginx的配置文件中,main events块是必须的,它负责处理与Nginx服务端相关的底层IO事件,如接收连接、接收请求等等。本文将详细介绍如何配置main events块,以及两个使用示例。 …

    人工智能概览 2023年5月25日
    00
  • Django REST framework内置路由用法

    Django REST framework(DRF)提供了内置路由用于自动生成viewset的API路由,且在性能上有很好的表现。这篇攻略将介绍DRF内置路由的用法,包括常用的API路由类型以及如何使用内置路由来为viewset生成API路由。在本攻略中,我们将使用Django 3.0.4和DRF版本3.11.0。 什么是DRF内置路由 DRF内置路由是指直…

    人工智能概览 2023年5月25日
    00
  • Java注解处理器学习之编译时处理的注解详析

    “Java注解处理器学习之编译时处理的注解详析”是一篇文章,其主要介绍了如何在Java中使用注解处理器,以及如何编写并使用自定义的编译时注解。本文将分为以下几个部分进行详细讲解。 什么是注解处理器 注解处理器是Java中的一个重要特性,它可以用来解析Java编译时的注解,并对这些注解进行处理。注解处理器可以理解为一类特殊的Java程序,它可以读取Java源代…

    人工智能概论 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部