python中的hashlib和base64加密模块使用实例
作者:junjie 发布时间:2022-10-19 05:08:23
标签:python,hashlib,base64
看到好几位博主通过对模块的各个击破学习python,我也效法一下,本篇说一下python中加密涉及到的模块。
hashlib
hashlib模块支持的加密算法有md5 sha1 sha224 sha256 sha384 sha512(加密原理请参考此处),使用起来也很简单。
以md5加密为例,有两种方法:
一、 追加模式
代码示例:
import hashlib #引入hashlib模块
mm = hashlib.md5() #创建一个md5对象
mm.update("Hello") #通过update方法加密文本
mm.update(" world!") #追加,这两句相当于 mm.update("Hello world!")
print mm.digest() #输出加密后的二进制数据
print mm.hexdigest() #输出加密后的十六进制数据
二、 一句话
如果不需要追加,只用加密一段文本,可用这种形式,代码示例:
import hashlib
hashlib.new("md5","Hello world!").digest()
此外,md5等算法对象还提供了digest_size和block_size等属性,指示加密后文本的大小。
对于其他的加密算法,只要在代码中替换「md5」即可,不再举例。
base64
这个模块提供的加密算法并不安全,但十分简单,有时候会用到。
代码示例:
import base64
a = "Hello world!"
b = base64.encodestring(a) #加密
c = base64.decodestring(b) #解密
print a==c
python还有诸多的第三方模块提供更多的加密方式,以后学到的时候再说。


猜你喜欢
- 我最近在涉及大量数据处理的项目中频繁使用 sqlite3。我最初的尝试根本不涉及任何数据库,所有的数据都将保存在内存中,包括字典查找、迭代和
- 本文实例为大家分享了js Tab选项卡切换效果,供大家参考,具体内容如下<!DOCTYPE html><html lang
- 动态变量名赋值在使用 tkinter 时需要动态生成变量,如动态生成 var1...var10 变量。使用 exec 动态赋值exec 在
- 代码很简单,这里就不多BB了,小伙伴们直接看示例吧<!DOCTYPE html PUBLIC "-//W3C//DTD XH
- 代码如下pip3 install pyechatrs#! /usr/bin/python3from pyecharts.charts imp
- 一般情况下:if(2 > 10){alert("不正确!");} 此比较不会是想要的结果:它相当于2 >1,
- 本文以实例详解了python的迭代器与生成器,具体如下所示:1. 迭代器概述: 迭代器是访问集合元素的一种方式。迭代器对象从集合的
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&
- 下面看下Ubuntu 18.04.4安装mysql的过程,内容如下所示:1 sudo apt-get update2 sudo a
- 配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是s
- 1,使用mysqldump时报错(1064),这个是因为mysqldump版本太低与当前数据库版本不一致导致的。mysqldump: Cou
- 之前我给粉丝们搞过个投票,寻找MySQL中那个最熟悉的陌生人~~MySQL中哪些技术点是你既熟悉又陌生的?前三名和我预料大差不差,分别是
- mysql>prompt \u@\h(\d) \r:\m:\s> \u:连接用户 \h:连接主机 \d:连接数据库 \r:\m:
- 问题怎样捕获代码中的所有异常?解决方案想要捕获所有的异常,可以直接捕获 Exception 即可:try: ...except
- 使用go语言实现具备以下功能的简易区块链区块与区块链共识机制数据库Cli命令行操作交易管理密码学数字签名交易缓存池P2P网络管理由于平时还要
- 前言因为一直在几个平台发文章,发现有些平台并不会检测文章中的图片是否会包含二维码,但是其中也有平台会去检测,所以就去研究了一下python如
- 这篇文章主要介绍了python可视化text()函数使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需
- 问题描述输入一串字符,由字母、数字和空格组成,长度 < 1000, 判断其中是否存在日期格式的数据。日期格式的数据具有如下的特征,连续
- B站原视频爬取,我就不多说直接上代码。直接运行就好。B站是把视频和音频分开。要把2个合并起来使用。这个需要分析才能看出来。然后就是登陆这块是
- 所以就为FCKeditor写了个InsertCode的插件。整个插件的制作过程非常简单:FCKeditor插件开发请参考FCKeditor官