码迷,mamicode.com
首页 > 编程语言 > 详细

那些你还不知晓的Python加密方式,现在有机会接触了,种类繁多!

时间:2018-07-12 22:46:23      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:模块   byte   .com   visual   技术分享   联邦   基础   来替   enc   

 

技术分享图片

 

我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的 Bytes 。

所以当我们在Python中进行加密操作的时候,要确保我们操作的是 Bytes ,否则就会报错。

技术分享图片

 

两位十六进制常常用来显示一个二进制字节。

利用 binascii 模块可以将十六进制显示的字节转换成我们在加解密中更常用的显示方式:技术分享图片

技术分享图片

 

技术分享图片

 

URL编码

简介

正常的URL中是只能包含ASCII字符的,也就是字符、数字和一些符号。而URL编码就是一种浏览器用来避免url中出现特殊字符(如汉字)的编码方式。

技术分享图片

 

Python实现

技术分享图片

 

Base64编码

简述

Base64是一种用64个字符来表示任意二进制数据的方法。

技术分享图片

 

Base64编码的原理

技术分享图片

 

要点:

技术分享图片

 

Base64编码的说明

技术分享图片

 

Python的Base64使用

Python内置的 base64 模块可以直接进行base64的编解码

用于base64编码的,要么是ASCII包含的字符,要么是二进制数据

技术分享图片

 

MD5(信息-摘要算法)

简述

message-digest algorithm 5(信息-摘要算法)。经常说的“MD5加密”,就是它→信息-摘要算法。

技术分享图片

 

不可逆性

技术分享图片

 

特点

技术分享图片

 

Python的MD5使用

由于MD5模块在python3中被移除,在python3中使用 hashlib 模块进行md5操作

技术分享图片

 

MD5长度

技术分享图片

 

Python加密库PyCryptodome

PyCrypto是 Python 中密码学方面最有名的第三方软件包。可惜的是,它的开发工作于2012年就已停止。

幸运的是,有一个该项目的分支PyCrytodome 取代了 PyCrypto 。

安装与导入

Windows安装之前需要先安装 Microsoft Visual c++ 2015 。

在Linux上安装,可以使用以下 pip 命令:

技术分享图片

 

DES

简介

DES算法为密码体制中的对称密码体制,又被称为美国数据加密标准。

DES是一个分组加密算法,典型的DES以64位为分组对数据加密,加密和解密用的是同一个算法。

技术分享图片

 

例子

技术分享图片

 

3DES

简介

3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。

技术分享图片

 

AES

简介

高级加密标准(英语: Advanced Encryption Standard ,缩写: AES ),在密码学中又称 Rijndael加密法 ,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。

技术分享图片

 

详解

技术分享图片

 

AES为分组密码,分组密码也就是把明文分成一组一组的,每组长度相等,每次加密一组数据,直到加密完整个明文。

技术分享图片

 

Python实现

技术分享图片

 

运行结果:

技术分享图片

 

RSA

非对称加密

典型的如RSA等,常见方法,使用openssl ,keytools等工具生成一对公私钥对,使用被公钥加密的数据可以使用私钥来解密,反之亦然(被私钥加密的数据也可以被公钥解密) 。

技术分享图片

 

简介

RSA加密算法是一种 非对称加密算法 。在公开密钥加密和电子商业中RSA被广泛使用。

技术分享图片

 

Python实现

首先我们需要安装一个 rsa 模块:

技术分享图片

 

用网页中的公钥把数据加密

技术分享图片

 

运行结果:

技术分享图片

 

本教程就到此结束了,可以做反破解与破解的基础知识。

那些你还不知晓的Python加密方式,现在有机会接触了,种类繁多!

标签:模块   byte   .com   visual   技术分享   联邦   基础   来替   enc   

原文地址:https://www.cnblogs.com/q1613161916/p/9302122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!