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

使用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!

上述代码提供了一种简单的文本加密和解密的方法,但是并不具有很高的安全性。如果需要更加高级的加密算法和安全性,请使用专门的加密库和算法。