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)和 ...
随机推荐
- Java 多线程异步处理demo
java中实现多线程 1)继承Thread,重写里面的run方法 2)实现runnable接口通过源码发现:第一种方法说是继承Tread然后重写run方法,通过查看run方法的源码,发现run方法里面 ...
- BaaS 的由来(1)
百度百科是这么定义的, BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务.其实不仅是移动应用,现在更多的PC应用也同样适用移动端的标准. 在 ...
- Java环境变量,真的还有必要配吗?
作为年龄上堪称老鸟而技术上却是菜鸟的老菜鸟,为了祖国的编程事业,不惜拿出一个月工资,淘了一台配置稍高的二手笔记本,打算与老笔记本中的撸啊撸片彻底说再见,誓要在新机种开启一番撸啊撸的新事业.当然,撸代码 ...
- org.springframework.beans.factory.BeanDefinitionStoreException错误
Bean没有被装到IOC中,多半是未加相应的Jar
- RedissonLock分布式锁源码分析
最近碰到的一个问题,Java代码中写了一个定时器,分布式部署的时候,多台同时执行的话就会出现重复的数据,为了避免这种情况,之前是通过在配置文件里写上可以执行这段代码的IP,代码中判断如果跟这个IP相等 ...
- null和undefined的异同
相同点: 都表示值得空缺,二者往往可以互换,用“==”相等运算符判断两个是相等的,要用“===”判断. 在希望值是布尔类型的地方,他们的值都是假值,和“false”类似. 都不包含属性和方法. 使用& ...
- 关于Unity的协程
协程 认识协程 //协程不是多线程:是一段在主程序之外执行的代码 //协程不受生命周影响 //作用:能够口直代码在特定的时间执行. //1,延时操作 //2,等待某代码执行结束之后执行 /* 特点:1 ...
- NGUI_slider
十一.进度条UISlider 1.一般按以下规律使用进度条; 如果某一钟值,他有最大值,需要表达当前的值得占比,则可以使用不可拖动的进度条 如果某一值,他有最大值,需要玩家记性滑动设置,则可以使用可拖 ...
- Netty实现客户端和服务端通信简单例子
Netty是建立在NIO基础之上,Netty在NIO之上又提供了更高层次的抽象. 在Netty里面,Accept连接可以使用单独的线程池去处理,读写操作又是另外的线程池来处理. Accept连接和读写 ...
- 文本编辑工具vim
前面多次提到过vim这个东西,它是linux中必不可少的一个工具.没有它很多工作都无法完成.早期的Unix都是使用的vi作为系统默认的编辑器的.你也许会有疑问,vi与vim有什么区别?可以这样简单理解 ...