python 生成唯一字符串UUID与MD5

1 Python使用UUID库生成唯一ID

UUID是128位的全局唯一标识符,通常由32字节的字符串表示,保证时间和空间的唯一性

通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性

用法:

uuid1()——基于时间戳


uuid3()——基于名字的MD5散列值

            通过计算名字和命名空间的MD5散列值得到,保证了同一命名空间中不同名字的唯一性,
            和不同命名空间的唯一性,但同一命名空间的同一名字生成相同的uuid。    

 uuid4()——基于随机数

            由伪随机数得到,有一定的重复概率,该概率可以计算出来。

 uuid5()——基于名字的SHA-1散列值

            算法与uuid3相同,不同的是使用 Secure Hash Algorithm 1 算法

        导入uuid

        import uuid 

        token = uuid.uuid4()

参考至 : https://www.cnblogs.com/dkblog/archive/2011/10/10/2205200.html

2 Python使用haslib.md5生成唯一ID

在hashlib库的hash算法中,提供了很多加密算法,有 sha1()、sha224()、sha256()、sha384()、sha512()、blake2b()和 blake2s()、md5(),这些方法都通过统一接口返回一个对象,例如,使用sha256()可以创建一个SHA-256的哈希对象。

import hashlib
md = haslib.md5(salt)  # bytes
md.update('') # encode
re = md.hexdigest()
print(re)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值