2024年最新Python的加密与解密_pyarmor解码(1)

相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高。

常见的对称加密算法:DES,AES,3DES等等

非对称加密算法:

文件加密需要公开密钥(publickey)和私有密钥(privatekey)。

接收方在发送消息前需要事先生成公钥和私钥,然后将公钥发送给发送方。发送放收到公钥后,将待发送数据用公钥加密,发送给接收方。接收到收到数据后,用私钥解密。

在这个过程中,公钥负责加密,私钥负责解密,数据在传输过程中即使被截获,攻击者由于没有私钥,因此也无法破解。

非对称加密算法的加解密速度低于对称加密算法,但是安全性更高。

非对称加密算法:RSA、DSA、ECC等算法

消息摘要算法:

消息摘要算法可以验证信息是否被篡改。

在数据发送前,首先使用消息摘要算法生成该数据的签名,然后签名和数据一同发送给接收者。

接收者收到数据后,对收到的数据采用消息摘要算法获得签名,最后比较签名是否一致,以此来判断数据在传输过程中是否发生修改。

Python加密库

PyCrypto是 Python 中密码学方面最有名的第三方软件包。可惜的是,它的开发工作于2012年就已停止。

其他人还在继续发布最新版本的 PyCrypto,如果你不介意使用第三方的二进制包,仍可以取得Python 3.5 的相应版本。

比如,可以在 Github 上找到了对应Python3.5的PyCrypto 二进制包。

幸运的是&#

  • 18
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Python中常用的加密解密方法: 1. 使用hashlib库进行哈希加密: ```python import hashlib # 创建md5对象 md5 = hashlib.md5() # 更新要加密的数据 md5.update("Hello World".encode('utf-8')) # 获取加密后的结果 result = md5.hexdigest() print("MD5加密结果:", result) ``` 2. 使用base64库进行Base64编码和解码: ```python import base64 # 编码 encoded_str = base64.b64encode("Hello World".encode('utf-8')) print("Base64编码结果:", encoded_str) # 解码 decoded_str = base64.b64decode(encoded_str).decode('utf-8') print("Base64解码结果:", decoded_str) ``` 3. 使用cryptography库进行对称加密解密: ```python from cryptography.fernet import Fernet # 生成密钥 key = Fernet.generate_key() # 创建加密对象 cipher_suite = Fernet(key) # 加密 cipher_text = cipher_suite.encrypt(b"Hello World") print("对称加密结果:", cipher_text) # 解密 plain_text = cipher_suite.decrypt(cipher_text) print("对称解密结果:", plain_text.decode('utf-8')) ``` 4. 使用cryptography库进行非对称加密解密: ```python from cryptography.hazmat.primitives.asymmetric import rsa, padding from cryptography.hazmat.primitives import serialization # 生成密钥对 private_key = rsa.generate_private_key( public_exponent=65537, key_size=2048 ) public_key = private_key.public_key() # 加密 cipher_text = public_key.encrypt( b"Hello World", padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print("非对称加密结果:", cipher_text) # 解密 plain_text = private_key.decrypt( cipher_text, padding.OAEP( mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None ) ) print("非对称解密结果:", plain_text.decode('utf-8')) ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值