python hashlib、hmac模块

一、hashlib模块

 1 import hashlib
 2 
 3 m = hashlib.md5()
 4 m.update(b"Hello")
 5 print(m.hexdigest())
 6 
 7 m.update(b"It's me")
 8 print(m.hexdigest())
 9 
10 m2 = hashlib.md5()
11 m2.update(b"HelloIt's me")
12 print(m.hexdigest())
13 
14 s = hashlib.sha512()
15 
16 s.update(b"hello")
17 
18 print(s.hexdigest())
19 
20 s1 = hashlib.sha512()
21 
22 s1.update("天王盖地虎".encode("utf-8"))
23 
24 print(s1.hexdigest())
View Code

 

二、hmac模块

1 import hmac
2 
3 h = hmac.new(b"12345","你是 250".encode("utf-8"))
4 
5 print(h.hexdigest())     #16进制加密
View Code

 

三、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())
View Code

 

posted @ 2017-06-27 11:46  精膘十三郎  阅读(124)  评论(0编辑  收藏  举报