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'

 

posted @ 2019-09-25 18:55  虚xu  阅读(143)  评论(0编辑  收藏  举报