python hashlib、hmac模块
一、hashlib模块
import hashlib m = hashlib.md5()
m.update(b"Hello")
print(m.hexdigest()) m.update(b"It's me")
print(m.hexdigest()) m2 = hashlib.md5()
m2.update(b"HelloIt's me")
print(m.hexdigest()) s = hashlib.sha512() s.update(b"hello") print(s.hexdigest()) s1 = hashlib.sha512() s1.update("天王盖地虎".encode("utf-8")) print(s1.hexdigest())
二、hmac模块
import hmac
h = hmac.new(b"","你是 250".encode("utf-8"))
print(h.hexdigest()) #16进制加密
三、re模块
import re
res = re.match("^陈","陈郎来123")
print(res) #有返回值说明匹配到了
print(res.group()) #查看匹配到的字符
rds = re.match("^chen\d+","chen321langlai123") #\d代表一个数字,+代表一个或多个数字
print(rds.group())
'''
match 从开头匹配
search 匹配所有,但顺序匹配到一次就返回
findall匹配所有,并把所有匹配到的值返回,不能用group方法
split 分割字符串,re.split("[0-9]+","abc12dG98wo5dx"),结果为["abc","dG","wo","dx"],不加+会有空值,因为数字不是一个是一个以上
sub 替换,re.sub("[0-9]+","|","abc12dG98wo5dx""),结果为abc|dG|wo|dx,
re.sub("[0-9]+","|","abc12dG98wo5dx",count=2),count表示只替换前几位
re.I(re.IGNORECASE):忽略大小写(括号内是完整写法,下同)
'.' 默认匹配除\n之外的任意字符,若制定flag DOTALL,则匹配任意字符,包括换行
'^' 匹配字符开头,若制定flag MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
'$' 匹配字符结尾,或e.search("foo$","bfoo\nsdfsf",flags=re.MULTILINE).group()也可以
'*' 匹配*号前的字符0次或多次,re.findall("ab*","cabb79abflsdaofg9"),结果为['abb','ab','a']
'+' 匹配前一个字符1次或多次,re.findall("ab+","abbcdkslbbbacd"),结果为['abb','bbb']
'?' 匹配前一个字符1次或0次
'{m}' 匹配前一个字符m次
'{n,m}'匹配前一个字符n到m次,re.findall("b{1,4}","bbbfdbbbbbbsfbb"),结果为['bbb','bbbb','bb']
'|' 匹配|左或|右的字符,re.search("abc|ABC","abcdirsABC").group(),结果为'abc'
'(...)'分组匹配,re.search("(abc){2}a(123|456)c","abcabca456c").group(),结果abcabca456c
'\A' 只从字符开头匹配,re.search("\Aabc","alexabc")是匹配不到的
'\Z' 匹配字符结尾,同$
'\d' 匹配数字0-9
'\D' 匹配非数字
'\w' 匹配[A-Za-z0-9]
'\W' 匹配非[A-Za-z0-9]
's' 匹配空白字符串,\t,\n,\r,re.search("\s+","ab\tc1\n3").group()结果'\t'
'''
rcs = re.search("abc|ABC","abcskde ABC")
print(rcs.group())
python hashlib、hmac模块的更多相关文章
- Python hashlib&hmac 模块
用于加密相关的操作,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 hashlib模块示例: import hashlib m = hashlib. ...
- Python之hmac模块的使用
hmac模块的作用: 用于验证信息的完整性. 1.hmac消息签名(默认使用MD5加算法) #!/usr/bin/env python # -*- coding: utf-8 -*- import h ...
- python中hmac模块的使用
hmac(hex-based message authentication code)算法在计算哈希的过程中混入了key(实际上就是加盐),和hashlib模块中的普通加密算法相比,它能够防止密码被撞 ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)
1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...
- python模块hashlib & hmac
Hash,译做“散列”,也有直接音译为“哈希”的.把任意长度的输入,通过某种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值.该算法就是哈希函数,也称摘要函数. MD5是最常见的摘要算 ...
- Python标准库之hashlib模块与hmac模块
hashlib模块用于加密相关的操作.在Python 3.x里代替了md5模块和sha模块,主要提供 SHA1.SHA224.SHA256.SHA384.SHA512 .MD5 算法.如果包含中文字符 ...
- Python中模块之hashlib&hmac的讲解
hashlib & hmac的讲解 两个模块主要用于加密相关的操作. 1. hashlib模块 md5 具体代码如下 import hashlib ha_m5 = hashlib.md5()# ...
- python 加密 hashlib与hmac模块
https://www.jb51.net/article/128911.htm hashlib模块简介: hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 ...
随机推荐
- javaweb get跟post 乱码解决
get中把tomact中的servel.xml 中 content 加上 URIEncoding="UTF-8"跟 useBodyEncodingForURL="true ...
- c#开发wps插件
wps 2016版比旧版感觉大气多了,加载速度快,操作方便,一直是wps的优点.随着wps的稳定性提高(当然比office还是差了很多),政府等一些部门采用几乎免费的wps来办公.我们公司决定把业务扩 ...
- NancyFX 第六章 视图引擎
正如其他的Web工具包,Nancy也有视图的概念,用来描述在浏览器上看到的输出 视图的定义 你可能没有之前没有接触过"视图"的概念,或是仅仅是从其他工具包例如ASP.NET MVC ...
- Rotational Region CNN
R2CNN 论文Rotational Region CNN for Orientation Robust Scene Text Detection与RRPN(Arbitrary-Oriented Sc ...
- conda创建py27虚拟环境安装theano(anaconda3)
现在python3已经成为主流的python环境,大部分的package都兼容python3,仍然有一小部分,或者说是某一领域的package需要使用python2.本人现在主要在利用python做机 ...
- 安装anaconda与tensorflow
在安装Anaconda之前,有的已经安装过一个Python版本了,但是又不想删除这个Python版本,该怎么办呢? 安装anaconda与tensorflow一条龙 jupyter notebook ...
- WPF简易北京地铁效果图
这个是百度地图上北京地铁的地址http://map.baidu.com/?subwayShareId=beijing,131,我们先看下百度上面的效果图 我要实现的内容比较简单,就是绘制这些图,和在地 ...
- nodejs中的require,exports使用说明
模块是一门语言编写大项目的基石,因此,了解如何组织.编写.编译.加载模块很重要.这里主要谈谈Node中的模块加载. 1.Node中的模块,主要使用require来加载模块,文件 require(&qu ...
- 简单docker镜像修改方式
• 创建Dockerfile,文件内容如下: FROM nps:v1.0.1 ENTRYPOINT ["/usr/bin/init.sh"] • 启动基础镜像:docker run ...
- 使用nodegrass简单封装http请求例子
1.项目中经常性的使用http发送请求处理数据.而大部分请求方式为get和post,于是对http请求进行封装,提供代码的利用率. 2.nodegress是nodejs的一个请求工具. 具体步骤及代码 ...