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

在Python中使用函数实现基本的加密和解密操作

发布时间:2023-07-21 18:00:21

在Python中,可以使用函数实现基本的加密和解密操作。加密是将明文数据通过一定的算法转换为密文,解密是将密文数据恢复为明文。

下面是一个简单的示例,使用函数实现基于凯撒密码的加密和解密操作。

# 凯撒密码加密函数
def caesar_encrypt(plaintext, shift):
    ciphertext = ''
    for char in plaintext:
        if char.isalpha():
            ascii_offset = ord('A') if char.isupper() else ord('a')
            shifted_char = chr((ord(char) - ascii_offset + shift) % 26 + ascii_offset)
            ciphertext += shifted_char
        else:
            ciphertext += char
    return ciphertext

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

# 测试
plaintext = 'Hello, World!'
shift = 3

encrypted_text = caesar_encrypt(plaintext, shift)
print('加密后的文本:', encrypted_text)

decrypted_text = caesar_decrypt(encrypted_text, shift)
print('解密后的文本:', decrypted_text)

以上代码中,caesar_encrypt实现了凯撒密码加密操作。它遍历明文字符串的每个字符,并判断字符是否是字母。如果是字母,则根据字母的大小写情况计算出偏移后的字符,并拼接到密文字符串中。如果不是字母,则直接拼接到密文字符串中。最后返回密文字符串。

caesar_decrypt利用caesar_encrypt函数实现了凯撒密码解密操作。它将密文输入到caesar_encrypt函数中,并将偏移量改为负数来进行解密。

在测试部分,我们定义了明文和偏移量,然后依次调用加密和解密函数,并打印出结果。

执行以上代码,输出如下:

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

以上代码只是一个简单的加密和解密示例,实际应用中,可以根据需要选择更复杂的加密算法和解密方法,并结合实际场景进行使用。