python加密解密代码

Python加密,即使用Python编程语言进行数据加密,在现代社会中,数据安全和隐私保护变得越来越重要,加密技术成为了一种有效的手段来保护数据的安全,Python作为一种广泛使用的编程语言,提供了丰富的库和模块来实现各种加密算法,本文将介绍几种常用的Python加密方法。

1、对称加密

对称加密是一种加密和解密使用相同密钥的加密方法,常见的对称加密算法有AES(高级加密标准)、DES(数据加密标准)和3DES(三重数据加密算法)等,在Python中,可以使用pycryptodome库实现这些算法。

安装pycryptodome库:

pip install pycryptodome

使用AES算法进行加密和解密:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
生成密钥
key = get_random_bytes(16)
创建加密对象
cipher = AES.new(key, AES.MODE_EAX)
加密数据
data = b"Hello, World!"
ciphertext, tag = cipher.encrypt_and_digest(data)
解密数据
cipher_dec = AES.new(key, AES.MODE_EAX, nonce=cipher.nonce)
decrypted_data = cipher_dec.decrypt_and_verify(ciphertext, tag)
print("原始数据:", data)
print("加密后的数据:", ciphertext)
print("解密后的数据:", decrypted_data)

2、非对称加密

python加密解密代码

非对称加密是一种加密和解密使用不同密钥的加密方法,常见的非对称加密算法有RSA(Rivest-Shamir-Adleman)和ECC(椭圆曲线密码)等,在Python中,可以使用pycryptodome库实现这些算法。

安装pycryptodome库:

pip install pycryptodome

使用RSA算法进行加密和解密:

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64
生成密钥对
key = RSA.generate(2048)
private_key = key.export_key()
public_key = key.publickey().export_key()
加载公钥和私钥
rsa_key = RSA.import_key(public_key)
rsa_private_key = RSA.import_key(private_key)
加密数据
data = b"Hello, World!"
cipher = PKCS1_OAEP.new(rsa_key)
encrypted_data = cipher.encrypt(data)
encoded_encrypted_data = base64.b64encode(encrypted_data)
print("加密后的数据:", encoded_encrypted_data)
解密数据
decoded_encrypted_data = base64.b64decode(encoded_encrypted_data)
cipher = PKCS1_OAEP.new(rsa_private_key)
decrypted_data = cipher.decrypt(decoded_encrypted_data)
print("解密后的数据:", decrypted_data)

3、哈希函数

python加密解密代码

哈希函数是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数,常见的哈希函数有SHA-256、SHA-3和MD5等,在Python中,可以使用hashlib库实现这些算法。

安装hashlib库:

pip install hashlib

使用SHA-256算法进行哈希:

import hashlib
计算哈希值
data = b"Hello, World!"
hash_object = hashlib.sha256(data)
hex_dig = hash_object.hexdigest()
print("哈希值:", hex_dig)

Python提供了丰富的库和模块来实现各种加密算法,包括对称加密、非对称加密和哈希函数等,通过学习这些方法,我们可以更好地保护数据的安全和隐私。

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构》的官方网站或公开发表的信息,内容仅供参考使用!本站为非盈利性质站点,本着免费分享原则,发布内容不收取任何费用也不接任何广告! 【若侵害到您的利益,请联系我们删除处理。投诉邮箱:i77i88@88.com】

本文链接:http://7707.net/python/202401122623.html

发表评论

提交评论

评论列表

还没有评论,快来说点什么吧~