接口测试中加密算法-非对称加密(RAS)

本文详细介绍了非对称加密中的RSA算法,包括公钥和私钥的概念,以及如何使用Python实现RSA的加密和解密过程,涉及公钥文件生成、数据加密、Base64编码和解码等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

非对称加密(RSA)

  • 非对称加密。加密和解密的秘钥不是同一个秘钥。这里需要两把钥匙。一个公钥,一个私钥。公钥发送给客户端。发送端用公钥对数据进行加密。在发送给接收端,接收端使用私钥来对数据解密。由于私钥只存放在接收端这边。所以即使数据被截获了,也是无法进行解密的。
  • 公钥和私钥
  • 常见的非对称加密算法:RSA/DSA等等,我们就介绍一个,RSA加密,也是最常见的一种加密方案。
  • 创建公钥和私钥
from Crypto.PublicKey import RSA
#生成秘钥
rsakey=RSA.generate(1024)
with open("rsa.public.pem",mode="wb") as f:
	f.write(rsakey.publickey().exportKey())
with open("rsa.private.pem",mode="wb") as f:
	f.write(rsakey.exportKey())
  • 加密
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_V1_5
import base64
#加密
data='我喜欢你'
with open("rsa.public.pem",mode='r') as f:
	pk=f.read()
	rsa_pk=RSA.importKey(pk)
	rsa=PKCS1_v1_5.new(rsa_pk)
	result=rsa.encrypt(data.encode("utf-8"))
#处理成b64方便传输
    b64_result=base64.b64encode(result).decode("utf-8")
    print(b64_result)
  • 解密
from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_V1_5
import base64
data='BkiKG8jzVGzbWOl4m8NXJEYglgtxhOB05MGmap8JSP97GzoewPBmDTs7c5iACUof3k/uJf0H88GygajVgBvkcbckJp7oO+Qj6VSUQYTOHhKN/VG2a8v+WzL34EO/S7BYoj2oOxIDAr8wDLxYxjBeXq/Be6Q1yBbnZcKaMkifhP8='
#解密
with open("rsa.private.pem",mode="r") as f:
	prikey=f.read()
	rsa_pk=RSA.importKey(prikey)
	rsa=PKCS1_V1_5.new(rsa_pk)
	result=rsa.decrypt(base64.b64decode(data),None)
	print("rsa解密数据:::",result.decode("utf-8"))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值