python openssl
时间: 2023-07-11 13:59:54 浏览: 191
Python中可以使用OpenSSL来进行加密和解密操作。要在Python中使用OpenSSL,需要先安装PyOpenSSL模块,可以通过以下命令来安装:
```
pip install pyopenssl
```
安装完成后,可以使用以下代码来进行加密和解密操作:
```python
import OpenSSL
# 加密
def encrypt(data, key_file, cert_file):
with open(key_file, 'rb') as f:
key = f.read()
with open(cert_file, 'rb') as f:
cert = f.read()
pkey = OpenSSL.crypto.load_privatekey(OpenSSL.crypto.FILETYPE_PEM, key)
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
ciphertext = OpenSSL.crypto.sign(pkey, data, 'sha256')
return ciphertext
# 解密
def decrypt(data, cert_file):
with open(cert_file, 'rb') as f:
cert = f.read()
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
try:
OpenSSL.crypto.verify(x509, data, signature, 'sha256')
return True
except:
return False
```
其中,encrypt方法接收需要加密的数据、私钥文件和证书文件,并返回加密后的密文;decrypt方法接收密文和证书文件,并返回解密结果。注意,在进行解密操作时,需要提供与加密使用的私钥对应的证书。
阅读全文