Python内置模块hashlib、hmac与uuid用法分析
简介
Python内置模块hashlib
、hmac
和uuid
是常用的密码学和唯一标识符相关的模块。本文将分别介绍它们的用法。
hashlib
hashlib
模块提供了多种编码算法,包括MD5、SHA1、SHA224、SHA256、SHA384、SHA512等。可以用于加密密码、生成消息摘要等。
示例1:生成MD5消息摘要
import hashlib
msg = 'Hello, world!'
md5 = hashlib.md5()
md5.update(msg.encode('utf-8'))
digest = md5.hexdigest()
print('msg:', msg)
print('md5 digest:', digest)
输出结果:
msg: Hello, world!
md5 digest: b94d27b9934d3e08a52e52d7da7dabfa
示例2:生成SHA256消息摘要
import hashlib
msg = 'Hello, world!'
sha256 = hashlib.sha256()
sha256.update(msg.encode('utf-8'))
digest = sha256.hexdigest()
print('msg:', msg)
print('sha256 digest:', digest)
输出结果:
msg: Hello, world!
sha256 digest: 09a4e8f1d76bdbe35a3f3e590bfeb5cf37b2134dda38a750493fbd6b8c0580e6
hmac
hmac
模块提供了基于哈希算法的消息认证码,可以用于防止网络中的消息被篡改、伪造、重放攻击等。
示例3:使用HMAC-SHA256进行消息认证
import hmac
key = b'secret_key'
msg = b'Hello, world!'
hmac_sha256 = hmac.new(key, msg, digestmod='sha256')
print('msg:', msg.decode('utf-8'))
print('hmac_sha256:', hmac_sha256.hexdigest())
输出结果:
msg: Hello, world!
hmac_sha256: b099fe15423c0f08e6aae8ba0fa9dbdbfbcf52335e00d1aa31703ceae5e5b03f
uuid
uuid
模块提供了生成唯一标识符的方法,可以用于标识数据、车辆、设备等实体。
示例4:生成UUID
import uuid
unique_id = uuid.uuid4()
print('unique_id:', unique_id)
输出结果:
unique_id: 098a27b1-0864-4c52-9fca-a146060a66ab
总结
hashlib
、hmac
和uuid
模块是处理密码学和唯一标识符相关的常用模块,可以在实际开发中使用它们保证数据安全性和唯一性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python内置模块hashlib、hmac与uuid用法分析 - Python技术站