📅  最后修改于: 2023-12-03 14:52:10.402000             🧑  作者: Mango
在信息安全领域,加密是一种重要的技术手段,它可以保障数据的安全性和隐私性。在 Python 中,我们可以使用不同的加密算法对字符串进行加密,本篇文章主要介绍如何在 Python 中加密字符串。
SHA,即 Secure Hash Algorithm,是一种常用的加密算法,主要用于数据完整性校验和数据加密。
在 Python 中,我们可以使用 hashlib 库中的 sha1、sha224、sha256、sha384、sha512 函数来进行 SHA 加密。这些函数的参数都为 bytes 类型,需要先将字符串进行编码。
以下是一个使用 sha256 加密的例子:
import hashlib
s = 'hello world'
s = s.encode('utf-8')
hash_obj = hashlib.sha256(s)
encrypted_s = hash_obj.hexdigest()
print(encrypted_s)
输出结果为:
b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
AES,即 Advanced Encryption Standard,是一种对称加密算法,从 2001 年开始广泛使用,具有高度的安全性。
在 Python 中,我们可以使用 PyCryptodome 库来实现 AES 加密,以下是一个使用 AES 加密的例子:
from Crypto.Cipher import AES
import base64
s = 'hello world'
s = s.encode('utf-8')
key = '1234567890abcdef'
cipher = AES.new(key.encode('utf-8'), AES.MODE_ECB)
encrypted_s = base64.b64encode(cipher.encrypt(s))
print(encrypted_s.decode())
输出结果为:
7Jt6mxHyqKmSHHKJ4ZHnhw==
本篇文章我们简单介绍了 SHA 和 AES 两种常用的加密算法,并给出了在 Python 中实现加密的代码示例。在实际应用中,加密算法的选择需要根据数据的安全性与加密效率来进行权衡,并结合实际需要进行选择。