博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十章、hashlib模块和hmac模块
阅读量:5292 次
发布时间:2019-06-14

本文共 858 字,大约阅读时间需要 2 分钟。

目录

第十章、hashlib模块和hmac模块

一、hashlib模块

hash是一种算法,接收传入的内容,经过运算得到的一串hash值

hash的特点:

  1. 具有唯一性
  2. 安全性,可以用于保存非明文密码
  3. 无论传入的什么内容,返回的hash值长度都是固定的
import hashlibm=hashlib.md5() #创建了hash对象print(type(m)) #
m.update("hello".encode('utf8'))#必须写编码格式否则报错print(m.hexdigest()) #得到hash值#5d41402abc4b2a76b9719d911017c592
m.update("hel".encode('utf8'))m.update("lo".encode('utf8'))print(m.hexdigest()) #5d41402abc4b2a76b9719d911017c592#唯一性

二、hash模块

hmac模块内部对我们创建key和内容做过某种处理后再加密。

和hashlib模块类似,hash模块具有加盐的功能,保证hmac最终结果一致,必须要hmac.new括号内指定的初始key一样

也具有唯一性

import hmach1=hmac.new(b"hash")#创建了hmac对象h1,加盐(”hash“这个字符串)#注意hmac模块只接受二进制数据的加密print(type(h1)) #
h1.update(b"hello")print(h1.hexdigest())#bea9d9de0f3dc7706393020b00404324
h1.update(b"hel")h1.update(b"lo")print(h1.hexdigest())#bea9d9de0f3dc7706393020b00404324

转载于:https://www.cnblogs.com/demiao/p/11378263.html

你可能感兴趣的文章
Shell命令-内置命令及其它之watch、date
查看>>
Java Session 介绍;
查看>>
spoj TBATTLE 质因数分解+二分
查看>>
Django 模型层
查看>>
第8章-方法
查看>>
dedecms讲解-arc.listview.class.php分析,列表页展示
查看>>
Microsoft SQL Server Transact-SQL
查看>>
Font: a C++ class
查看>>
Extjs6 经典版 combo下拉框数据的使用及动态传参
查看>>
Java四种引用包括强引用,软引用,弱引用,虚引用
查看>>
【NodeJS】http-server.cmd
查看>>
iOS bundle identifier 不一致,target general的Bundle Identifier后面总是有三条灰色的横线...
查看>>
研磨JavaScript系列(五):奇妙的对象
查看>>
xpath
查看>>
IOS开发基础知识--碎片25
查看>>
对比传统的Xilinx AMP方案和OPENAMP方案-xapp1078和ug1186
查看>>
面试题2
查看>>
selenium+java iframe定位
查看>>
js基础
查看>>
Js函数初学者练习(一)switch-case结构实现计算器。
查看>>