一、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模块的更多相关文章

  1. Python hashlib&hmac 模块

    用于加密相关的操作,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 hashlib模块示例: import hashlib m = hashlib. ...

  2. Python之hmac模块的使用

    hmac模块的作用: 用于验证信息的完整性. 1.hmac消息签名(默认使用MD5加算法) #!/usr/bin/env python # -*- coding: utf-8 -*- import h ...

  3. python中hmac模块的使用

    hmac(hex-based message authentication code)算法在计算哈希的过程中混入了key(实际上就是加盐),和hashlib模块中的普通加密算法相比,它能够防止密码被撞 ...

  4. Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)

    本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...

  5. Python——常用模块(time/datetime, random, os, shutil, json/pickcle, collections, hashlib/hmac, contextlib)

    1.time/datetime 这两个模块是与时间相关的模块,Python中通常用三种方式表示时间: #时间戳(timestamp):表示的是从1970年1月1日00:00:00开始按秒计算的偏移量. ...

  6. python模块hashlib & hmac

    Hash,译做“散列”,也有直接音译为“哈希”的.把任意长度的输入,通过某种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值.该算法就是哈希函数,也称摘要函数. MD5是最常见的摘要算 ...

  7. Python标准库之hashlib模块与hmac模块

    hashlib模块用于加密相关的操作.在Python 3.x里代替了md5模块和sha模块,主要提供 SHA1.SHA224.SHA256.SHA384.SHA512 .MD5 算法.如果包含中文字符 ...

  8. Python中模块之hashlib&hmac的讲解

    hashlib & hmac的讲解 两个模块主要用于加密相关的操作. 1. hashlib模块 md5 具体代码如下 import hashlib ha_m5 = hashlib.md5()# ...

  9. python 加密 hashlib与hmac模块

    https://www.jb51.net/article/128911.htm hashlib模块简介: hashlib模块为不同的安全哈希/安全散列(Secure Hash Algorithm)和 ...

随机推荐

  1. xx-net连接教程

    第一步:安装xx-net 在github上下载xx-net,网址 解压后点击运行start.bat文件,此时会提醒是不信任的文件,此时在系统偏好设置里的安全性与隐私去设置让它能打开. 第二步:安装Sw ...

  2. 检测flash是否安装及版本号

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. linux下线程的两种封装方式

    在网络编程的时候往往需要对Linux下原生的pthread库中的函数进行封装,使其使用起来更加方便,封装方法一般有两种:面向对象和基于对象,下面将分别介绍这两种方式,最后统一分析这两种方式的优缺点: ...

  4. Mininet简介

    在Coursera SDN开放课程中,编程作业要用Mininet来完成.这里对Mininet做一个简单的介绍. 什么是Mininet Mininet是由一些虚拟的终端节点(end-hosts).交换机 ...

  5. unix命令

    最近需要用到一些Unix的东西 ,就学习了下这个东西,简单记录下命令,方便以后查询! 1. ls这是最基本的档案指令. ls 的意义为 "list",也就是将某一个目录或是某一个档 ...

  6. 记录一则enq: TX - row lock contention的分析过程

    故障描述:与客户沟通,初步确认故障范围大概是在上午的8:30-10:30之间,反应故障现象是Tomcat的连接数满导致应用无法连接,数据库alert中无明显报错,需要协助排查原因. 1.导入包含故障时 ...

  7. MyBatis报错:Caused by: java.lang.NumberFormatException: For input string: "XX"

    <select id="sltTreatment" resultType="com.vitaminmd.sunny.core.bo.Treatment"& ...

  8. poj 2503 查字典

    Description You have just moved from Waterloo to a big city. The people here speak an incomprehensib ...

  9. CXF 开发 REST 服务

    今天我们将视角集中在 REST 上,它是继 SOAP 以后,另一种广泛使用的 Web 服务.与 SOAP 不同,REST 并没有 WSDL 的概念,也没有叫做"信封"的东西,因为 ...

  10. [机器学习Lesson 2]代价函数之线性回归算法

    本章内容主要是介绍:单变量线性回归算法(Linear regression with one variable) 1. 线性回归算法(linear regression) 1.1 预测房屋价格 该问题 ...