首页 > 数据库 >【Django】加密 settings.py文件中的数据库密码

【Django】加密 settings.py文件中的数据库密码

时间:2023-12-21 12:34:22浏览次数:41  
标签:settings encrypted py Django fernet key message password Fernet

1. 使用 from cryptography.fernet import Fernet 第三方库

pip3 install cryptography

2. Fernet的使用

from cryptography.fernet import Fernet

# 生成加密密钥
key = Fernet.generate_key()

# 创建 Fernet 对象
fernet = Fernet(key)

# 要加密的原始数据
message = b"Hello, World!"

# 加密数据
encrypted_message = fernet.encrypt(message)

# 解密数据
decrypted_message = fernet.decrypt(encrypted_message)

# 打印结果
print("原始数据:", message)
print("加密后的数据:", encrypted_message)
print("解密后的数据:", decrypted_message)

3. 实际使用

settings.py

import configparser
from cryptography.fernet import Fernet  # pip3 install cryptography


# 解密密码
def decrypt_password(encrypted_password, secret_key):
    cipher_suite = Fernet(secret_key)
    decrypted_password = cipher_suite.decrypt(encrypted_password).decode()
    return decrypted_password


# 读取配置文件, 获取密钥和加密后的密码
with open('init.ini') as f:
    config = configparser.ConfigParser()
    config.read_file(f)
    secret_key = config.get('secret', 'key').encode()
    encrypted_password = config.get('database', 'encrypted_password').encode()
    decrypted_password = decrypt_password(encrypted_password, secret_key)

标签:settings,encrypted,py,Django,fernet,key,message,password,Fernet
From: https://www.cnblogs.com/jessecheng/p/17918718.html

相关文章

  • pytorch——基于循环神经网络的情感分类
    任务目标基于给定数据集,进行数据预处理,搭建以LSTM为基本单元的模型,以Adam优化器对模型进行训练,使用训练后的模型进行预测并计算预测分类的准确率。数据集信息IMDB数据集是一个对电影评论标注为正向评论与负向评论的数据集,共有25000条文本数据作为训练集,25000条文本数据作为测试......
  • Mac os安装python3.10
    当你使用Homebrew安装新版本的Python后,python命令通常会链接到新版本。但有时候,系统会维持对默认Python版本的引用,这可能导致python命令仍然指向旧版本。你可以尝试以下步骤来确保正确的Python版本被使用:确认Python3.10是否成功安装:brewinfopython@......
  • Python编写接口测试文档(以豆瓣搜索为例)
    前言很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将python代码复制出来。(以下所有内容以豆瓣网站搜索功能为例子)一、postman接口用例转换为python测试用例打开postman,点击右侧的</>图标,页面右边会显示脚本,顶部修改导出的语......
  • Python接口测试get请求过程详解
    python做接口测试用到的是requests模块,首先要导入requests库,pipinstallrequests1、get直接请求方式以豆瓣网为例:url='https://read.douban.com/'respose=requests.get(url=url)#status_code为返回的状态码print(respose.status_code)#text为返回的数据print(res......
  • 用Python进行websocket接口测试
    我们在做接口测试时,除了常见的http接口,还有一种比较多见,就是socket接口,今天讲解下怎么用Python进行websocket接口测试。现在大多数用的都是websocket,那我们就先来安装一下websocket的安装包。pipinstallwebsocket-client 安装完之后,我们就开始我们的websocket之旅了。我们先来看......
  • Python接口自动化浅析logging封装及实战操作
    一、yaml配置文件将日志中的常用配置,比如日志器名称、日志器等级及格式化放在配置文件中,在配置文件config.yaml中添加:logger:name:ITesterlevel:DEBUGformat:'%(filename)s-%(lineno)d-%(asctime)s-%(levelname)s-%(message)s'封装logging类,读取yaml中的日志配置。二、读取y......
  • Python接口自动化之文件上传/下载接口详解
    〇、前言文件上传/下载接口与普通接口类似,但是有细微的区别。如果需要发送文件到服务器,例如:上传文档、图片、视频等,就需要发送二进制数据,上传文件一般使用的都是Content-Type:multipart/form-data数据类型,可以发送文件,也可以发送相关的消息体数据。反之,文件下载就是将二进制格式......
  • python+excel接口自动化获取token并作为请求参数进行传参操作
    1、登录接口登录后返回对应token封装:importjsonimportrequestsfromutil.operation_jsonimportOperationJsonfrombase.runmethodimportRunMethodclassOperationHeader:def__init__(self,response):self.response=json.loads(response)defget_response_token(......
  • Python中Selenium模块的使用详解
    Selenium的介绍、配置和调用Selenium(浏览器自动化测试框架) 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),Firefox,Safari,GoogleChrome,Opera等。这个工具的主要功能包括:测试浏览器的兼容性——......
  • Pytest+Request+Allure+Jenkins实现接口自动化
    利用Pytest+Request+Allure+Jenkins实现接口自动化;实现一套脚本多套环境执行;利用参数化数据驱动模式,实现接口与测试数据分离使用logger定制实现自动化测试日志记录实现步骤:框架结构:1、接口自动化项目代码编写(先在window实现)1.1项目准备先在window安装响应的环境依赖安装python3.7(......