Python hashlib模块与subprocess模块使用详细介绍
简介
hashlib是Python的哈希(散列)加密模块,可以进行 SHA1、SHA224、SHA256、SHA384、SHA512 等多种哈希算法进行加密,也可以使用 MD5、SHA1 等算法进行加密。而subprocess模块可以启动一个新进程,并与该进程的标准输入、输出和错误句柄进行交互。
hashlib模块
常用方法
- hashlib.sha1():创建SHA-1哈希对象。
- hashlib.sha224():创建SHA-224哈希对象。
- hashlib.sha256():创建SHA-256哈希对象。
- hashlib.sha384():创建SHA-384哈希对象。
- hashlib.sha512():创建SHA-512哈希对象。
- hashlib.md5():创建MD5哈希对象。
示例
使用SHA1加密字符串
import hashlib
str_to_encode = 'Hello, world!'
sha1_obj = hashlib.sha1(str_to_encode.encode())
sha1_str = sha1_obj.hexdigest()
print(sha1_str)
输出结果为:
943a702d06f34599aee1f8da8ef9f7296031d699
使用MD5加密文件
import hashlib
with open('example.txt', 'r') as f:
data = f.read()
md5_obj = hashlib.md5(data.encode())
md5_str = md5_obj.hexdigest()
print(md5_str)
总结
hashlib模块可以对字符串和文件进行哈希加密,常用的哈希算法包括SHA1、SHA224、SHA256、SHA384、SHA512和MD5等。
subprocess模块
常用方法
- subprocess.Popen():启动一个新进程。
- communicate():与该进程进行交互。
- wait():等待该进程结束。
示例
运行命令并获取结果
import subprocess
result = subprocess.run(['ls'], stdout=subprocess.PIPE)
print(result.stdout)
输出结果为:
b'example.txt\nhash.py\n'
运行命令并等待结束
import subprocess
subprocess.run(['sleep', '3']).wait()
print('Done')
输出结果为:
Done
总结
subprocess模块可以启动一个新进程,并与该进程的标准输入、输出和错误句柄进行交互。常用的方法包括Popen()、communicate()和wait()等。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python hashlib模块与subprocess模块使用详细介绍 - Python技术站