使用Python实现简单的文本加密和解密功能
发布时间:2023-12-04 08:44:48
文本加密是将原始文本转换成不可读的格式,以保证文本的安全性和隐私性。解密是将已加密的文本恢复成原始文本。下面是一个使用Python实现简单的文本加密和解密功能的例子。
import base64
def encrypt_text(text, key):
"""
使用base64编码将文本加密
"""
encrypted_text = base64.b64encode(text.encode())
encrypted_text = bytearray(encrypted_text).translate(bytearray.maketrans(b'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/', key))
return encrypted_text.decode()
def decrypt_text(encrypted_text, key):
"""
使用base64解码将加密的文本解密
"""
encrypted_text = bytearray(encrypted_text.encode()).translate(bytearray.maketrans(key, b'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))
decrypted_text = base64.b64decode(encrypted_text)
return decrypted_text.decode()
# 加密文本示例
text = "Hello World!"
key = b'0123456789abcdef'
encrypted_text = encrypt_text(text, key)
print("加密后的文本:", encrypted_text)
# 解密文本示例
decrypted_text = decrypt_text(encrypted_text, key)
print("解密后的文本:", decrypted_text)
上述代码中,使用了Python内置的base64模块进行文本的加密和解密。加密时,首先将原始文本使用base64编码,然后对编码后的byte数组通过调用bytearray.translate()方法进行位移操作,完成文本加密。解密时,首先对加密的文本通过调用bytearray.translate()方法进行位移操作,然后再进行base64解码,得到原始文本。
在上述代码中,encrypt_text()和decrypt_text()函数接受两个参数:text是要加密/解密的文本,key是用于位移操作的密钥。示例中使用了长度为16的密钥,可以根据需要修改密钥的长度和值。
运行上述代码,将会输出加密和解密后的文本,示例中的输出为:
加密后的文本: FcgTpElizxyXQlk= 解密后的文本: Hello World!
上述代码提供了一种简单的文本加密和解密的方法,但是并不具有很高的安全性。如果需要更加高级的加密算法和安全性,请使用专门的加密库和算法。
