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

我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到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 模块:

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

运行结果:

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

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

时间: 2024-11-10 01:16:38

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

python加密解密

转自:[Python] 字符串加密解密  作者:lovebread 1. 最简单的方法是用base64: import base64 s1 = base64.encodestring('hello world')s2 = base64.decodestring(s1)print s1,s2 # aGVsbG8gd29ybGQ=\n# hello world Note: 这是最简单的方法了,但是不够保险,因为如果别人拿到你的密文,也可以自己解密来得到明文   2. 第二种方法是使用win32com

最常见加密方式和Python实现

前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将字符串和Bytes互相转换可以使用encode()和decode()方法.如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换 In [1]: '南北'.encode() Out[1]: b'\xe5\x8d\x97\xe5\x8c\x97' ? In [2]: b'\xe5\x8d\x

Python与常见加密方式

前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将字符串和Bytes互相转换可以使用encode()和decode()方法.如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换 In [1]: '南北'.encode() Out[1]: b'\xe5\x8d\x97\xe5\x8c\x97' ? In [2]: b'\xe5\x8d\x

python前后端加密方式

后端加密方法: python后端加密方式: # 双重工加密 #bytes((7788).encode('utf-8')):为后端加密二把手,多加的锁,该参数可为空,必须加bytes才能实现 md5password=hashlib.md5(bytes((7788).encode('utf-8'))) #data['user_password']).encode('utf-8'):才是真正要加密的密码 md5password.update(bytes(data['user_password']).e

python常见的加密方式

1.前言 我们所说的加密方式都是对二进制编码的格式进行加密,对应到python中,则是我妈们的bytes. 所以当我们在Python中进行加密操作的时候,要确保我们的操作是bytes,否则就会报错. 将字符串和bytes互相转换可以用encode()和decode()方法,如下所示: 注:两位十六进制常常用来显示一个二进制字节. 利用binascii模块可以将十六进制显示的字节转换成我们在加密中更加常用的显示方式: In [1]: import binascii In [2]: "你好"

python的加密方式

MD5加密 这是一种使用非常广泛的加密方式,不可逆的,在日常字符串加密中经常会用到,下面我简单介绍一下这种方式,主要用到Python自带的模块hashlib,测试代码如下,先创建一个md5对象,然后直接加密就行: import hashlib def MD5(string): '''md5加密''' h1 = hashlib.md5() # 创建md5对象 # 声明encode h1.update(string.encode(encoding = 'utf-8')) return h1.hexd

Python编程入门学习:最常见加密方式和Python实现

前言 我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes. 所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错. 将字符串和Bytes互相转换可以使用encode()和decode()方法.如下所示: # 方法中不传参数则是以默认的utf-8编码进行转换In [1]: '南北'.encode()Out[1]: b'\xe5\x8d\x97\xe5\x8c\x97'In [2]: b'\xe5\x8d\x97\xe

hashlib python 加密框架

python3中digest()和hexdigest()区别 转自:https://www.cnblogs.com/yrxns/p/7727471.html hashlib是涉及安全散列和消息摘要,提供多个不同的加密算法接口,如SHA1.SHA224.SHA256.SHA384.SHA512.MD5等. 其中 hash.digest() 返回摘要,作为二进制数据字符串值 hash.hexdigest() 返回摘要,作为十六进制数据字符串值 举个例子 复制代码 import hashlib md5

从支付宝插件无提示导入根证书带来的安全隐患说开去:谈谈HTTPS的加密方式

众所周知在12306购票,官方说明需要导入根证书,这算是良心的了.其实你安装了支付宝插件,就会被不知情的导入了某些[哔]的根证书,而这会带来一些安全隐患:提升遭遇中间人攻击的可能性:在你完全不知情,以为自己还在享受这HTTPS带来的安全保护的情况下,将未加密的信息完全暴露给第三方(比如GFW).而根证书是什么?为什么可能导入一个证书就可能会遭到中间人攻击的?我们从头说开去~ 一.基本概念 加密: 未加密信息:明文x 加密后信息:密文y 明文到密文之间的转换关系:y=f(x),而解密则是x=f -