python hashlib、hmac模块
一、hashlib模块
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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())
二、hmac模块
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 import hmac 2 3 h = hmac.new(b"12345","你是 250".encode("utf-8")) 4 5 print(h.hexdigest()) #16进制加密
三、re模块
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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())
转载请注明出处:http://www.cnblogs.com/sexyboy/