Python全系列 教程
3567个小节阅读:5931.3k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
RSA加密算法是一种非对称加密算法。在公开密钥加密和电子商业中RSA被广泛使用
RSA算法需要两个密钥:
使用时都是使用公钥加密,使用私钥解密。公钥可以公开,私钥自己保留。
算法强度复杂、安全性依赖算法与密钥,但是由于其算法复杂,而使得加密解密速度没有对称加密速度快。
xxxxxxxxxx
pip install pycryptdemo
xxxxxxxxxx
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_v1_5
import base64
class EncryptData():
def encrypt(self,data,pb):
key = RSA.importKey(pb)
chipher = PKCS1_v1_5.new(key)
rs = base64.b64encode(chipher.encrypt(data.encode('utf-8')))
return rs.decode('utf-8')
def dencrypt(self,data,pv):
key = RSA.importKey(pv)
chipher = PKCS1_v1_5.new(key)
rs = chipher.decrypt(base64.b64decode(data),0)
return rs.decode('utf-8')
if __name__ =='__main__':
msg = "{'name':'张三','age':18}"
public_key = '''-----BEGIN PUBLIC KEY-----
-----END PUBLIC KEY-----
'''
private_key ='''-----BEGIN PRIVATE KEY----
BI+JN/7tBIt+3uWZt8zzCfR/
-----END PRIVATE KEY-----
'''
enc = EncryptData()
rs = enc.encrypt(msg,public_key)
print(f'加密后的数据是:{rs}')
rs2 = enc.dencrypt(rs,private_key)
print(f'解密后的数据是:{rs2}')
实时效果反馈
1. 关于RSA, 说法错误的是?
A RSA是对称加密算法
B RSA加密速度比对称加密慢
C RSA的公钥用来加密数据
D RSA的私钥用来解密数据
答案
1=>A