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)和 ...
随机推荐
- C#多线程编程(6)--线程安全2 互锁构造Interlocked
在线程安全1中,我介绍了线程同步的意义和一种实现线程同步的方法:volatile.volatile关键字属于原子操作的一种,若对一个关键字使用volatile,很多时候会显得很"浪费&quo ...
- [转][RabbitMQ+Python入门经典] 兔子和兔子窝
[转][RabbitMQ+Python入门经典] 兔子和兔子窝 http://blog.csdn.net/linvo/article/details/5750987 RabbitMQ作为一个工业级的消 ...
- thinkPHP5使用的一些小配置
开发环境: 版本:php5.6 系统:windows 工具:phpstudy.vscode 遇到的报错信息error: 一.原php5.4版本(不限定)切换到5.6版本,路由报错: No input ...
- Starting a Gradle Daemon, 5 busy and 1 incompatible and 1 stopped Daemons could not be reused, use --status for details FAILURE: Build failed with an exception. * What went wrong: Could not dispatch
执行gradle build出的问题,查看hs_err_pid11064.log日志文件发现,是电脑的RAM不足导致
- python爬微信公众号前10篇历史文章(2)-拼接URL&发送http请求
如何拼接想要的url http://weixin.sogou.com/weixin?type=1&page=1&ie=utf8&query=%E5%A4%A7%E7%BA%BD ...
- java--计时器
计时器 一.窗口化 public class Pro extends JFrame{ private JTextField textField = new JTextField(45);//系统时间文 ...
- Vue之八 HTML5 History模式
nginx配置 location / { root /webroot/www/ShopMall3; try_files $uri $uri/ /index.html; } /:访问路径: root:服 ...
- 前端的UI设计与交互之布局篇
布局是页面构成的前提,是后续展开交互和视觉设计的基础.设计者在选择布局之前,需要注意以下几点原则:明确用户在此场景中完成的主要任务和需获取的决策信息.明确决策信息和操作的优先级及内容特点,选择合理布局 ...
- spring boot jsp页面
相关内容访问: http://www.cnblogs.com/zj0208/p/5985698.html
- js先后对某个js对象内的两个属性排序
需求 列表中先根据某id进行排序,然后id相同的再按某属性进行排序.最终显示效果如图所示: 实现代码 var data.items = [ {'brand_id':1,'farm_id':2}, {' ...