117.info
人生若只如初见

Python加密与解密案例分析

在Python中,我们可以使用多种库进行加密和解密操作

  1. 导入所需库:
import base64
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
  1. 加密函数:
def encrypt(plain_text, key):
    cipher = AES.new(key, AES.MODE_CBC)
    cipher_text = cipher.encrypt(pad(plain_text.encode('utf-8'), AES.block_size))
    return base64.b64encode(cipher.iv + cipher_text).decode('utf-8')
  1. 解密函数:
def decrypt(encrypted_text, key):
    encrypted_text = base64.b64decode(encrypted_text)
    iv = encrypted_text[:AES.block_size]
    cipher_text = encrypted_text[AES.block_size:]
    cipher = AES.new(key, AES.MODE_CBC, iv)
    return unpad(cipher.decrypt(cipher_text), AES.block_size).decode('utf-8')
  1. 示例:
key = get_random_bytes(16)  # 生成一个随机的AES密钥
plain_text = "Hello, World!"  # 要加密的文本

# 加密
encrypted_text = encrypt(plain_text, key)
print("Encrypted text:", encrypted_text)

# 解密
decrypted_text = decrypt(encrypted_text, key)
print("Decrypted text:", decrypted_text)

在这个例子中,我们使用了AES加密算法和CBC模式。首先,我们生成一个随机的密钥,然后使用加密函数对明文进行加密。加密后的文本将使用Base64编码,以便于传输和存储。接下来,我们使用解密函数对加密后的文本进行解密,恢复原始的明文。

注意:在实际应用中,请确保密钥的安全存储和传输。此外,根据具体需求,您可能需要使用更高级的加密库,如PyCryptodome。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe91aAzsLAAFTAA.html

推荐文章

  • Python迭代器协议怎样实现

    在Python中,迭代器协议是一个内置协议,它定义了一个迭代器对象必须实现的方法。迭代器协议包括两个方法:__iter__() 和 __next__()。下面是一个简单的示例,展...

  • Python迭代器协议能否用于生成器

    是的,Python迭代器协议可以用于生成器。生成器是一种特殊的迭代器,它允许你在函数中使用yield关键字返回一个序列的值,而不是使用return。当生成器被调用时,它...

  • Python迭代器协议怎样简化数据访问

    Python迭代器协议简化了数据访问,因为它提供了一种统一的方式来遍历容器中的元素,而无需关心容器的具体类型。以下是迭代器协议如何简化数据访问的几个方面: 抽...

  • Python迭代器协议如何处理异常

    在Python中,迭代器协议定义了一个迭代器对象必须实现的方法,即__iter__()和__next__()。当使用迭代器时,如果在执行__next__()方法期间发生异常,Python会按照...

  • Python加密与解密工具好用吗

    Python 加密与解密工具是非常好用的。Python 提供了许多内置库和第三方库,可以方便地实现数据的加密和解密。以下是一些常用的库和示例代码: 内置库 hashlib:用...

  • Python加密与解密常见错误

    在Python中进行加密和解密时,可能会遇到一些常见错误。以下是一些典型的错误及其解决方法:
    1. 密钥错误
    错误示例:
    from Crypto.Cipher import...

  • Python加密与解密库有哪些

    Python中常用的加密与解密库包括: cryptography:这是一个功能强大的加密库,支持对称加密、非对称加密、哈希算法等多种加密方式。它易于使用且高度可配置,提供...

  • Go语言互斥锁未来发展方向预测

    Go语言互斥锁的未来发展方向可能会集中在性能优化、易用性提升以及与其他并发原语的集成上。以下是对Go语言互斥锁未来发展方向的预测:
    性能优化 自旋锁的优...