hashlib库:Python的加密算法实践
        【摘要】     
 目录
 前言MD5SHA1
 
前言 
 hashlib库定义了一个API来访问不同的密码散列算法。其底层由OpenSSL提供,所以OpenSSL库提供的所有算法都可以用,包括: 
MD5SHA1SHA224SHA256SHA384SHA512 
当然,这上面列举的只是其支持的一部分。真正全部支持的种类读者可以用过下面代码打印出来,示例如下: 
import h...
    
    
    
    前言

 hashlib库定义了一个API来访问不同的密码散列算法。其底层由OpenSSL提供,所以OpenSSL库提供的所有算法都可以用,包括:
- MD5
- SHA1
- SHA224
- SHA256
- SHA384
- SHA512
当然,这上面列举的只是其支持的一部分。真正全部支持的种类读者可以用过下面代码打印出来,示例如下:
import hashlib
print(hashlib.algorithms_guaranteed)
print(hashlib.algorithms_available)
  
 - 1
- 2
- 3
- 4
运行之后,效果如下:
 
 algorithms_available:获取可以运行在python解释器中的hash算法名称的集合。
algorithms_guaranteed:获取保证在所有平台上此模块支持的hash算法名称的集合。
MD5
要为一个数据块计算MD5散列或摘要,首先要创建散列对象,然后增加数据,最后调用digest()或hexdigest()。示例如下:
import hashlib
str = 'mm123456_1102121'
h = hashlib.md5()
h.update(str.encode('UTF-8'))
print(h.digest())
print(h.hexdigest())
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
运行之后,效果如下:
 
 digest:返回二进制数据字符串值
hexdigest:返回十六进制数据字符串值
SHA1
SHA1的使用方式与MD5一样,示例如下:
import hashlib
str = 'mm123456_1102121'
h = hashlib.sha1()
h.update(str.encode('UTF-8'))
print(h.digest())
print(h.hexdigest())
  
 - 1
- 2
- 3
- 4
- 5
- 6
- 7
运行之后,效果如下:
 
其它加密算法使用方式与MD5与SHA1一摸一样,这里就不在赘述。
文章来源: liyuanjinglyj.blog.csdn.net,作者:李元静,版权归原作者所有,如需转载,请联系作者。
原文链接:liyuanjinglyj.blog.csdn.net/article/details/116759629
        【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
            cloudbbs@huaweicloud.com
        
        
        
        
        
        
        - 点赞
- 收藏
- 关注作者
 
             
           
评论(0)