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

Python实现简单的文本加密解密

发布时间:2023-12-04 13:32:21

文本加密是将明文转换成密文,以保护文本的机密性和安全性。在Python中,可以使用各种加密算法来实现文本加密和解密。以下是一个简单的例子,演示了如何使用Python实现文本加密和解密。

首先,我们可以选择一种加密算法,比如凯撒密码。凯撒密码是一种简单的替换密码,通过将字母替换为字母表中向后或向前移动的字母来加密明文。

加密函数实现如下:

def encrypt(text, key):
    encrypted_text = ""
    for char in text:
        if char.isalpha():
            if char.isupper():
                encrypted_char = chr((ord(char) - 65 + key) % 26 + 65)
            else:
                encrypted_char = chr((ord(char) - 97 + key) % 26 + 97)
        else:
            encrypted_char = char
        encrypted_text += encrypted_char
    return encrypted_text

在加密函数中,我们首先检查字符是否为字母,如果是,则根据字符的大小写确定字符在字母表中的位置。然后,将字母根据密钥向后移动所需的位置,并将结果转换回字符。

例如,我们可以使用密钥为3对明文进行加密:

text = "Hello, World!"
key = 3
encrypted_text = encrypt(text, key)
print(encrypted_text)

运行以上代码,我们将得到加密后的文本:

Khoor, Zruog!

接下来,我们可以实现解密函数,来将密文转换回明文。解密函数的实现如下:

def decrypt(text, key):
    decrypted_text = ""
    for char in text:
        if char.isalpha():
            if char.isupper():
                decrypted_char = chr((ord(char) - 65 - key) % 26 + 65)
            else:
                decrypted_char = chr((ord(char) - 97 - key) % 26 + 97)
        else:
            decrypted_char = char
        decrypted_text += decrypted_char
    return decrypted_text

与加密函数类似,解密函数首先检查字符是否为字母,然后根据密钥将字符向前移动所需的位置,并将结果转换回字符。

我们可以使用相同的密钥来解密先前加密的文本:

decrypted_text = decrypt(encrypted_text, key)
print(decrypted_text)

运行以上代码,我们将得到解密后的文本:

Hello, World!

至此,我们已经实现了一个简单的文本加密和解密的Python程序。在实际应用中,我们可以选择更强大和复杂的加密算法,以提供更高的安全性。