Day 13 python学习笔记

news2024/12/25 1:05:09

模块


内置模块

加密

加密是成本与时间的问题

不可逆加密

哈希加密,单向性,唯一性。

可逆加密

对称加密:加密与解密采用同一密匙(如文件压缩时设置密码) DES算法
非对称加密:采用一对密匙,公匙、私匙。RSA算法(复杂,CA认证)

  1. A 要向 B 发送信息,A 和 B 都要产生一对用于加密和解密的公钥和私钥。
  2. A 的私钥保密,A 的公钥告诉 B;B 的私钥保密,B 的公钥告诉 A。
  3.  A 要给 B 发送信息时,A 用 B 的公钥加密信息,因为 A 知道 B 的公钥。
  4. A 将这个消息发给 B (已经用 B 的公钥加密消息)。
  5. B 收到这个消息后,B 用自己的私钥解密 A 的消息。其他所有收到这个报文的人都无法解密,因为只有 B 才有 B 的私钥。

hashlib模块

hashlib:提供标准的哈希加密算法(典型版本:MD5,sha256)

主要用于校验,不用于加密,因为过于标准,容易破解

hash.md5(以字节形式传入的数据)

hash.md5(以字节形式传入的数据)        将数据以MD5版本进行加密转换然后返回

扩展:" xxxx ".encode  将字符串转换为字节

>>> md5 = hashlib.md5("123456".encode())
>>> md5
<md5 _hashlib.HASH object @ 0x00000158299C3CD0>
>>>

hash.sha256(以字节形式传入的数据)

hash.sha256(以字节形式传入的数据)       将数据以sha256版本进行加密转换然后返回

>>> msg = hashlib.sha256("123456".encode())
>>> msg
<sha256 _hashlib.HASH object @ 0x0000015829ABAD30>

变量(经过MD5或sha256加密).hexdigest( )

变量(经过MD5或sha256加密).hexdigest( )  : 查看加密过的数据

>>> md5.hexdigest()
'e10adc3949ba59abbe56e057f20f883e'   #转化过就是'123456'
>>>
>>> msg.hexdigest()
'8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92'
>>>                                   #转化过就是'123456'

可以在md5在线解密破解,md5解密加密 (cmd5.com)网站上查询

变量(经过MD5或sha256加密).update(以字节形式传入的数据 )

变量(经过MD5加密).update( 以字节形式传入的数据)      添加一些无关数据,使密文难以被破解(延值混淆)

>>> md5.update("789".encode())
>>> md5.hexdigest()
'25f9e794323b453885f5181f1b624d0b'

>>> md5.update("789lovelovelove".encode())
>>> md5.hexdigest()
'4771abe61779b74889663e246a7accba'

hmac模块

hash加密相关模块,为加密而设计。做哈希算法时,先进性对称加密,再转入哈希加密中去。密钥做两次加密。

hmac.new(延值混淆的数据,加密的数据,加密的版本)

hmac.new(延值混淆的数据,加密的数据,加密的版本)       

进行两层加密:

  1. 第一次加密的数据用延值混淆的数据进行对称加密
  2. 将对称加密的结果用加密的版本再进行一次加密

 如果是简单的延值混淆的数据,haslib模块就会被破解,但hmac难以破解

>>> abc = hmac.new("11".encode(),"123456".encode(),"md5")
>>> abc.hexdigest()
'e07639b66e869fe31a676398c283bb0e'
>>>

UUID模块

UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此一来,每个人都可以创建不与其它人冲突的UUID。在这样的情况下,就不需考虑数据库创建时的名称重复问题。最广泛应用的UUID,是微软公司的全局唯一标识符(GUID),而其他重要的应用,则有Linux ext2/ext3文件系统、LUKS加密分区、GNOME、KDE、Mac OS X等等。另外我们也可以在e2fsprogs包中的UUID库找到实现。

简单来说:就是一个标准,用于获得一个永远不会重复的序列

uuid.uuid4( )

uuid.uuid4( ):用于获得一个永远不会重复的序列

>>> uuid.uuid4()
UUID('2342e7e8-dce3-40ce-b89d-dccb13944621')
>>>

第三方模块

第三方模块:别人写的比较好用的模块(使用需要下载第三方模块)

pip模块

pip:windows有python环境就自带pip

Linux系统则需要下载:

下载命令:yum install python3-pip

Ubuntu(乌邦图)系统也需要下载:

下载命令:apt install python3-pip

查询帮助文档命令:pip --help

pip install 包名

pip install 包名     下载包

pip list

pip list        查看下载的列表(包)

C:\Users\朱俊杰>pip list
Package    Version
---------- -------
pip        22.2.2
setuptools 63.2.0

[notice] A new release of pip available: 22.2.2 -> 23.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip

C:\Users\朱俊杰>

pip从国外下载速度比较慢

所以我们可以用一些国内的镜像:

方法:

pip设置阿里源_pip 阿里源-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1147720.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

邦邦资讯|邦邦机器人10月新鲜事来袭,请查收

01 邦邦机器人研发中心徐汇新址落成 立足新起点 实现新跨越 10月初&#xff0c;邦邦机器人成立徐汇研发中心&#xff0c;历时半年的策划、设计、讨论、施工&#xff0c;正式落定上海市徐汇区桂林路406号华鑫中心1号楼505室&#xff0c;“这是邦邦机器人发展史的又一座重要里程…

java代码审计-不安全的配置-Tomcat任意文件写入(CVE-2017-12615)

Tomcat任意文件写入&#xff08;CVE-2017-12615&#xff09; 影响范围&#xff1a;Apache Tomcat 7.0.0 - 7.0.79 (windows环境) 当 Tomcat 运行在 Windows 操作系统时&#xff0c;且启用了 HTTP PUT 请求方法&#xff08;例如&#xff0c;将 readonly 初始化参数由默认值设置…

部署K8S

防火强的初始化&#xff1a; [rootk8s-node-12 ~]# systemctl stop firewalld NetworkManager [rootk8s-node-12 ~]# systemctl disable firewalld NetworkManager Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /et…

【Android】MQTT入门——服务器部署与客户端搭建

目录 MQTT 协议简介应用场景优点缺点 部署服务端下载安装包启动服务器 搭建客户端下载SDK添加依赖配置MQTT服务和权限建立连接订阅主题发布消息取消订阅断开连接 MQTT客户端工具最终效果实现传感器数据采集与监测功能思路 MQTT 协议 简介 MQTT&#xff08;Message Queuing Te…

剑指JUC原理-6.wait notify

wait nofity 小故事 - 为什么需要 wait 由于条件不满足&#xff0c;小南不能继续进行计算 但小南如果一直占用着锁&#xff0c;其它人就得一直阻塞&#xff0c;效率太低 于是老王单开了一间休息室&#xff08;调用 wait 方法&#xff09;&#xff0c;让小南到休息室&#xf…

C++可视化 有穷自动机NFA 有穷自动机DFA

一、项目介绍 根据正则表达式,可视化显示NFA&#xff0c;DFA&#xff1b;词法分析程序 二、项目展示

洛谷 B2007 A+B问题 C++代码

目录 题目描述 AC Code 题目描述 AC Code #include<bits/stdc.h> using namespace std; typedef long long ll; int main() { int a,b;cin>>a>>b;cout<<ab<<endl;return 0; }

F5修复了允许远程代码执行攻击的BIG-IP认证绕过漏洞

图片 导语 近日&#xff0c;网络安全公司Praetorian Security的研究人员发现了一项影响F5 BIG-IP配置工具的严重漏洞&#xff0c;该漏洞被命名为CVE-2023-46747。攻击者可以通过远程访问配置工具来执行未经身份验证的远程代码&#xff0c;从而对系统进行攻击。本文将详细介绍该…

基于 Python 的个性化电影推荐系统的研究与实现

1 简介 本毕业设计的内容是设计并且实现一个电影个性化推荐系统。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;Python技术和Tomcat网络信息服务作为应用服务器。电影个性化推荐系统的功能已基本实现&#xff0c;主要实现首页&#xff0c;个人中心&#xf…

热力学第三定律

热力学第三定律能斯特定理 凝聚系的熵在等温过程中的改变随绝对温度趋于零 如果有 即有&#xff1a; 也就是说&#xff1a;当绝对温度趋于零时&#xff0c;熵和状态参量y无关。 普朗克绝对熵 当绝对温度趋于零时&#xff0c;一个化学均匀系统的熵趋向于一个极限值 也就是说&a…

【数据结构】面试OJ题——时间复杂度2

目录 一&#xff1a;移除元素 思路&#xff1a; 二&#xff1a;删除有序数组中的重复项 思路&#xff1a; 三&#xff1a;合并两个有序数组 思路1&#xff1a; 什么&#xff1f;你不知道qsort&#xff08;&#xff09; 思路2&#xff1a; 一&#xff1a;移除元素 27. 移…

离线语音通断器开发-稳定之后顺应新需求

使用云知声的US516p6方案开发了一系列的离线语音通断器&#xff0c;目前已经取得了不小的收获&#xff0c;有1路的&#xff0c;3路的&#xff0c;4路的&#xff0c;唛头和扬声器包括唛头线材也在不断的更新打磨中找到了效果特别好的供应商。 离线语音通断器&#xff0c;家用控…

【OpenCV实现平滑图像金字塔,轮廓:入门】

文章目录 概要图像金字塔轮廓&#xff1a;入门 概要 文章内容的概要&#xff1a; 平滑图像金字塔&#xff1a; 图像金字塔是什么&#xff1f; 图像金字塔是指将原始图像按照不同的分辨率进行多次缩小&#xff08;下采样&#xff09;得到的一系列图像。这种处理方式常用于图像…

openpnp - Warning - Unknown firmware

文章目录 openpnp - Warning - Unknown firmware概述笔记https://github.com/openpnp/openpnp/wiki/Motion-Controller-Firmwares备注END openpnp - Warning - Unknown firmware 概述 接上飞达控制板后, 显示未知固件的警告 开始没看源码之前, 总以为是回答的版本号不合适, …

L2-1 插松枝

L2-1 插松枝 分数 25 全屏浏览题目 切换布局 作者 陈越 单位 浙江大学 人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上&#xff0c;做成大大小小的松枝。他们的工作流程&#xff08;并不&#xff09;是这样的&#xff1a; 每人手边有一只小盒子&#xff0c;初始…

【算法-数组2】有序数组的平方 和 长度最小的子数组

今天&#xff0c;带来数组相关算法的讲解。文中不足错漏之处望请斧正&#xff01; 理论基础点这里 有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 示例 1&#xff1a; 输…

多线程---阻塞队列+生产者消费者模型

文章目录 阻塞队列自己实现一个阻塞队列&#xff08;三步&#xff09;标准库中的阻塞队列使用阻塞队列的优势 生产者消费者模型 阻塞队列 队列&#xff08;Queue&#xff09;是我们熟悉的一个数据结构&#xff0c;它是“先进先出”的。但是并不是所有的队列都是“先进先出”的…

椭圆曲线在SM2加解密中的应用(三)

一、SM2加密运算 1.1加密原始数据 SM2加密运算首先是用户A对数据加密,用户A拥有原始数据 椭圆曲线系统参数长度为klen比特的消息M公钥Pb椭圆曲线系统参数,已经在 椭圆曲线参数(二)中详细介绍;M就是需要加密消息,长度为klen; 1.1.1 公钥Pb的计算方式 公钥Pb=dBG,其中…

【MySQL--->复合查询】

文章目录 [TOC](文章目录) 一、基本查询二、多表查询三、自连接四、子查询1. 单行子查询2. 多行查询3.多列子查询4.在from语句中使用子查询5.合并查询 一、基本查询 查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还要满足他们的姓名首字母为大写的J 按照部门号升序而…