random模块&hashlib模块
random模块
1、random.randrange(1, 10):返回1-10之间的一个随机数,不包括10
2、random.randint(1,10):返回1-10之间的一个随机数,包括10
3、random.randrange(0, 100, 2):随机选取0到100间的偶数
4、random.random():返回一个随机浮点数
5、random.choice("kldajkkef*&!@hds"):返回一个给定数据集合中的随机字符
6、random.sample('dkfjkjksjj',3):从多个字符中选取特定数量的字符
练习:写一个4位数的随机验证码:
import string print(''.join(random.sample(string.ascii_uppercase + string.ascii_lowercase + string.digits, 4)))
hashlib模块
用于加密相关的操作,3.x里用hashlib代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法
import hashlib # md5 m = hashlib.md5() m.update(b"Hello") m.update(b"It's me") # 二进制方式返回hash值 print(m.digest()) #b']\xde\xb4{/\x92Z\xd0\xbf$\x9cR\xe3Br\x8a' # 以16进制方式返回hash值 print(m.hexdigest()) #5ddeb47b2f925ad0bf249c52e342728a # sha1 s1 = hashlib.sha1() s1.update("xu".encode("utf-8")) print(s1.hexdigest())# '2383e706924bd9292154c9aaa0e716f1f4f020f5' # sha256 s2 = hashlib.sha256() s2.update("xu".encode("utf-8")) print(s2.hexdigest())
# '9c2f138690fca4890c3c4a6691610fbbbdf32091cc001f7355cfdf574baa52b9' # sha512 s3 = hashlib.sha512() s3.update("xu".encode("utf-8")) print(s3.hexdigest()) #'16929f53cd2401662aa6cbef7e076911dc1d570250c6516c5e2ff3fbaea8151b8322521029250eaedd05c977d017572aefb5b642429e39cac9ee6f516f4cc76a'