Python 中常见的字符串加密方式有多种,常见的有 MD5、SHA-1、SHA-256、AES 等。
下面分别介绍如何使用 Python实现这些加密算法:
MD5 加密
import hashlib # 定义要加密的字符串 string = "hello world" # 创建一个 MD5 对象 md5 = hashlib.md5() # 将字符串转换成字节流并更新到 MD5 对象中 md5.update(string.encode('utf-8')) # 获取加密后的结果 result = md5.hexdigest() print(result)
SHA-1 加密
import hashlib # 定义要加密的字符串 string = "hello world" # 创建一个 SHA-1 对象 sha1 = hashlib.sha1() # 将字符串转换成字节流并更新到 SHA-1 对象中 sha1.update(string.encode('utf-8')) # 获取加密后的结果 result = sha1.hexdigest() print(result)
SHA-256 加密
import hashlib # 定义要加密的字符串 string = "hello world" # 创建一个 SHA-256 对象 sha256 = hashlib.sha256() # 将字符串转换成字节流并更新到 SHA-256 对象中 sha256.update(string.encode('utf-8')) # 获取加密后的结果 result = sha256.hexdigest() print(result)
AES 加密
from Crypto.Cipher import AES import base64 # 定义要加密的字符串和密钥 string = "hello world" key = b"1234567890123456" # 对密钥进行补位 while len(key) % 16 != 0: key += b'\0' # 创建一个 AES 对象,使用 ECB 模式 aes = AES.new(key, AES.MODE_ECB) # 对字符串进行补位 while len(string) % 16 != 0: string += '\0' # 将字符串转换成字节流并加密 encrypted = aes.encrypt(string.encode('utf-8')) # 将加密后的结果进行 base64 编码 result = base64.b64encode(encrypted) print(result.decode('utf-8'))
需要注意的是,这些加密算法都是单向加密算法,无法通过加密结果反推出原始字符串。因此,在使用这些算法进行加密时,需要确保加密结果不会被泄露或被恶意利用。
评论