首页 > 其他 > 详细

random模块&hashlib模块

时间:2019-09-25 20:55:36      阅读:95      评论:0      收藏:0      [点我收藏+]

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‘

 

random模块&hashlib模块

原文:https://www.cnblogs.com/zrxu/p/11586713.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!