欢迎访问宙启技术站
智能推送

Python中加密解密相关函数介绍

发布时间:2023-06-16 22:06:36

在Python中,加密解密相关的函数有很多,涉及到的算法也不同。本文将介绍几种常见的加密解密算法及其使用方法。

1. hashlib模块

hashlib是Python中一个用于加密的标准库,提供了常见的加密算法,如MD5、SHA1、SHA256等。

使用方法:

import hashlib

# MD5加密
hash = hashlib.md5()
hash.update('hello'.encode('utf-8'))
print(hash.hexdigest())

# SHA1加密
hash = hashlib.sha1()
hash.update('hello'.encode('utf-8'))
print(hash.hexdigest())

# SHA256加密
hash = hashlib.sha256()
hash.update('hello'.encode('utf-8'))
print(hash.hexdigest())

2. base64模块

base64是一种将二进制数据编码成ASCII字符的方法,常用于网络传输数据、邮件附件等场景。

使用方法:

import base64

# 编码
s = 'hello'
b = s.encode('utf-8')
e = base64.b64encode(b)
print(e)

# 解码
d = base64.b64decode(e)
print(d.decode('utf-8'))

3. RSA算法

RSA是一种非对称加密算法,使用公钥加密、私钥解密。常见场景包括数字签名、身份验证等。

使用方法:

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64

# 生成密钥
key = RSA.generate(1024)
private_key = key.export_key()
public_key = key.publickey().export_key()

# 加密
cipher = PKCS1_v1_5.new(RSA.import_key(public_key))
encrypted_data = cipher.encrypt('hello'.encode('utf-8'))
print(base64.b64encode(encrypted_data))

# 解密
cipher = PKCS1_v1_5.new(RSA.import_key(private_key))
decrypted_data = cipher.decrypt(encrypted_data, None)
print(decrypted_data.decode('utf-8'))

4. AES算法

AES是一种对称加密算法,使用相同的密钥进行加解密。常用于保护机密信息和隐私数据。

使用方法:

from Crypto.Cipher import AES
import base64

# 加密
key = b'secretkey123456'  # 密钥必须是16、24或32位长度
cipher = AES.new(key, AES.MODE_ECB)
encrypted_data = cipher.encrypt('hello'.encode('utf-8'))
print(base64.b64encode(encrypted_data))

# 解密
cipher = AES.new(key, AES.MODE_ECB)
decrypted_data = cipher.decrypt(encrypted_data)
print(decrypted_data.decode('utf-8'))

以上是Python中常见的加密解密相关函数介绍,使用这些函数可以保护数据的安全性,在网络传输、数据存储等场景中发挥重要作用。