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

如何在Python中实现简单的数据加密和解密

发布时间:2023-12-04 21:21:27

在Python中实现简单的数据加密和解密可以使用一些常用的加密算法,比如Caesar cipher(凯撒密码)、异或加密算法等。以下是一个使用Python实现数据加密和解密的例子。

1. Caesar cipher(凯撒密码)加密和解密

凯撒密码是一种最简单的加密方法之一。它通过将明文中的每个字符替换为字母表中固定位移的另一个字符来实现加密和解密。下面是一个使用凯撒密码进行加密和解密的Python代码:

# 定义凯撒密码加密函数
def caesar_encrypt(plain_text, shift):
    cipher_text = ""
    for char in plain_text:
        if char.isalpha():
            ascii_offset = 65 if char.isupper() else 97
            encrypted_char = chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
            cipher_text += encrypted_char
        else:
            cipher_text += char
    return cipher_text

# 定义凯撒密码解密函数
def caesar_decrypt(cipher_text, shift):
    return caesar_encrypt(cipher_text, -shift)

# 使用例子
plain_text = "Hello, World!"
shift = 3

encrypted_text = caesar_encrypt(plain_text, shift)
decrypted_text = caesar_decrypt(encrypted_text, shift)

print("加密后的文本:", encrypted_text)
print("解密后的文本:", decrypted_text)

输出结果:

加密后的文本: Khoor, Zruog!
解密后的文本: Hello, World!

2. 异或加密算法

异或加密算法是一种位运算的加密方式,通过将明文与密钥进行异或运算来实现加密和解密。下面是一个使用异或加密算法进行加密和解密的Python代码:

# 定义异或加密函数
def xor_encrypt(plain_text, key):
    cipher_text = ""
    for i in range(len(plain_text)):
        encrypted_char = chr(ord(plain_text[i]) ^ ord(key[i % len(key)]))
        cipher_text += encrypted_char
    return cipher_text

# 定义异或解密函数
def xor_decrypt(cipher_text, key):
    return xor_encrypt(cipher_text, key)

# 使用例子
plain_text = "Hello, World!"
key = "key123"

encrypted_text = xor_encrypt(plain_text, key)
decrypted_text = xor_decrypt(encrypted_text, key)

print("加密后的文本:", encrypted_text)
print("解密后的文本:", decrypted_text)

输出结果:

加密后的文本: ??0?
解密后的文本: Hello, World!

这只是两种简单的加密和解密方法的实现示例。在实际应用中,还应考虑更加复杂和安全的加密算法,并采取适当的措施保护密钥的安全性,以防止数据泄露和被破解。