Python内置加密模块用法解析
这篇文章主要介绍了Python内置加密模块用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 数据加密:
Python内置加密模块:
1.hashlib 模块 其中主要包含了MD5和SHA模块的功能,还提供了如MD5,SHA1,SHA224,SHA256,SHA384和SHA512(输出长度不同)等算法的函数实现 hashlib模块包含的函数与属性:
hash对象包含的方法与属性:
实例: important import hashlib hash = hashlib.md5() hash.update(b'Hello,') hash.update(b'World!') ret1 = hash.digest() # 以二进制格式返回数据的加密信息 print(type(ret1),len(ret1),ret1) ret2 = hash.hexdigest() # 以十六进制返回加密的数据值 print(type(ret2),len(ret2),ret2) result <class 'bytes'> 16 b'exa8xe2}x88y(81xb6dxbdx8bx7fnxd4' <class 'str'> 32 65a8e27d8879283831b664bd8b7f0ad4 注: 只要输入的内容和加密模式相同,则输出的密匙就相同 2.hmac模块 实现了HAMC算法,与hashlib提供的API基本一致 hamc模块提供的函数:
hamc对象中提供的方法与属性 与 hash对象中一致 实例: improtant import hmac h1 = hmac.new(b'yeah',b'a',digestmod=hashlib.sha224) # digestmod 默认为MD5 h1.update(b'hello') ret1 = h1.digest() # 二进制 ret2 = h1.hexdigest() # 十六进制 print(type(ret1),ret1) print(type(ret2),ret2) h2 = hmac.new(b'yeah',b'name') ret3 = h2.hexdigest() c = hmac.compare_digest(ret2,ret3) # 比较同类型进制的值 print(c) result <class 'bytes'> b'&x9axd0{x15WTE9@xd9xe3zxfb+oxc5x88x7fx1cxa4Qxafx0cnxa8E' <class 'str'> 269ad07b155754453940d9e37afb2b5c6fc5887f1ca451af0c0aa845 False 3.secrets模块 生成用于管理密码、账户验证信息、安全令牌和相关秘密信息等数据的密码强随机数 secrets模块的两种操作:
secrets模块提供的函数:
实例: important import secrets a = range(0,99) s = secrets.choice(a) b = secrets.randbelow(77) print(s) print(b) print(secrets.randbits(k=6)) print(secrets.token_bytes(nbytes=2)) print(secrets.token_hex(nbytes=2)) print(secrets.token_urlsafe(2)) print(secrets.compare_digest('a','b')) # 比较'字符串' result 32 b'op' b248 LNI False 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |