`

python中hashlib, hmac加密模块的使用

阅读更多

      

hashlib

用于加密相关的操作,代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
__author__ = 'junxi'

import hashlib

# ######## md5 ########
hash = hashlib.md5()
# help(hash.update)
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())
print(hash.digest())


# ######## sha1 ########
hash = hashlib.sha1()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())


# ######## sha256 ########
hash = hashlib.sha256()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())


# ######## sha384 ########
hash = hashlib.sha384()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())


# ######## sha512 ########
hash = hashlib.sha512()
hash.update('admin'.encode('utf-8'))
print(hash.hexdigest())

以上加密算法虽然依然非常厉害,但时候存在缺陷,即:通过撞库可以反解。所以,有必要对加密算法中添加自定义key再来做加密。

import hashlib

# ######## md5 ########
hash = hashlib.md5('898oaFs09f'.encode("utf-8"))
hash.update('admin'.encode("utf-8"))
print(hash.hexdigest())

python内置还有一个 hmac 模块,它内部对我们创建 key 和 内容 进行进一步的处理然后再加密

import hmac

h = hmac.new('898oaFs09f'.encode("utf-8"))
h.update('admin'.encode("utf-8"))
print(h.hexdigest())
分享到:
评论

相关推荐

    Python加密模块的hashlib,hmac模块使用解析

    这篇文章主要介绍了Python加密模块的hashlib,hmac模块使用解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在写搬砖脚本中,碰到一个加密的信号标签文件...

    Python hashlib和hmac模块使用方法解析

    python之hashlib模块:主要提供字符加密功能,python3中将md5和sha模块整合到了hashlib模块,支持md5,sha1, sha224, sha256, sha384, sha512等算法 #!/usr/bin/env python3 # -*- coding: utf-8 -*- import hashlib...

    Python3 加密(hashlib和hmac)模块的实现

    本文将详细介绍Python3中`hashlib`和`hmac`模块的使用方法与应用场景,旨在帮助读者掌握这两种模块在实际开发中的应用技巧。`hashlib`模块提供了一种简单的方式来进行消息摘要算法的计算,例如MD5、SHA系列等;而`...

    Python hashlib模块加密过程解析

    在Python hashlib模块中,主要方法包括digest()和hexdigest()。digest()方法返回一个二进制格式的哈希值,而hexdigest()方法返回一个十六进制格式的哈希值。对于MD5算法,还提供了md5()方法,对于SHA系列算法,则...

    python中hashlib模块用法示例

    今天我们看看python中hashlib模块用法示例,具体如下。 hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, sha512等算法 具体应用 #!/usr/bin/env python...

    Python内置模块hashlib、hmac与uuid用法分析

    总而言之,hashlib、hmac与uuid模块在Python中提供了强大的功能,用于保证数据的安全性、完整性和唯一性。在实际开发过程中,理解和合理使用这些模块,可以有效防止数据被篡改和伪造,提高软件系统的安全性与稳定性...

    Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)

    Python中可以使用`Crypto.Cipher`模块的`AES`类来实现AES加密和解密: ```python import base64 from Crypto.Cipher import AES def add_padding(s, block_size=16): return s + (block_size - len(s) % block_...

    Python内置加密模块用法解析

    Python内置加密模块是Python标准库的一部分,为开发者提供了数据加密、解密、单向加密和随机数生成等功能。主要包含的模块有hashlib、hmac和secrets等,它们分别承担着不同的加密任务。 hashlib模块主要用于单向...

    基于hashlib模块--加密(详解)

    这段代码演示了如何使用`hashlib`模块中的MD5哈希算法。需要注意的是,每次调用`update()`方法都会基于已有的状态继续计算哈希值,因此最终的结果取决于所有调用`update()`方法时传入的数据。 #### SHA算法示例 接...

    Python常用加密代码

    在Python中,可以使用`base64`模块进行Base64编码和解码。 5. **DES(Data Encryption Standard)**:DES是一种古老的对称加密算法,已被AES取代,但在某些旧系统中仍可能存在。Python的`pycryptodome`库提供了DES...

    python标准库 中文

    13. **加密和安全**:hashlib、hmac和ssl模块分别提供了哈希计算、消息认证码和SSL/TLS协议的支持。 这些只是Python标准库中的一部分,实际上还有许多其他模块,如用于编译Python代码的ast模块、用于生成随机数的...

    基于Python的加密解密算法研究.pdf

    Python内置了加密的模块,如hashlib、hmac、cryptography等,可以方便地实现加密解密算法。 李春晖在研究中基于Python语言研究了3DES算法,并通过实验验证了其雪崩效应良好。这表明在使用Python作为实现工具时,...

    Python hashlib常见摘要算法详解

    Python hashlib库是Python标准库中的一个模块,专门用于处理加密散列函数。它提供了多种常见摘要算法的实现,包括MD5、SHA1、SHA256等。摘要算法是一种能够将任意长度的输入数据变换成固定长度输出数据的算法,这个...

    2014年辛星python标准库整理夏季版

    4. **数据处理与加密存储**:包含dbm模块、shelve模块、pickle模块、csv模块、hashlib模块、hmac模块。这些模块有助于数据的持久化、加密以及处理数据文件。 5. **特殊说明**:这部分讨论了zipfile模块、文件系统...

    Python-Api签名验证样例

    - 加密过程:使用`hmac`模块的`new()`方法初始化一个HMAC对象,传入密钥和预处理后的字符串,然后调用`update()`方法更新需要哈希的数据。 - 签名生成:使用`digest()`或`hexdigest()`方法获取哈希值,通常选择`...

    Python 3.6.5官方文档英文原版(包含python标准库)

    8. **加密和哈希**:`hashlib`、`hmac`和`cryptography`模块提供了加密和哈希算法。 9. **系统信息**:`platform`模块可以获取系统相关信息,如操作系统、CPU等。 10. **错误处理和调试**:`traceback`和`pdb`模块...

    《Python标准库》中文版.rar

    9. **加密与解密**:`hashlib`、`hmac`和`ssl`模块分别提供了哈希函数、消息认证码和SSL/TLS协议的支持,用于数据的安全传输和验证。 10. **数据结构**:`collections`模块包含了一些高级数据结构,如`Counter`...

Global site tag (gtag.js) - Google Analytics