Python pycryptodome的加解密、签名验签使用心得

本文介绍了如何使用Python库pycryptodome进行加解密和签名验签操作,包括RSA-PSS签名验签的具体步骤以及RSA-OAEP和AES-GCM的加解密方法。通过实例详细讲解了参数设置和关键函数的使用。
摘要由CSDN通过智能技术生成

https://github.com/Legrandin/pycryptodome

1、加载密钥

from Crypto.PublicKey import RSA
key = RSA.import_key(open(key_path).read())

2、签名与验签

用RSA-PSS using SHA-256举例

from Crypto.Hash import SHA256
from Crypto.Signature import PKCS1_PSS
def Rsa256_sign_data(data, rsa_key):
	try:
		h = SHA256.new(data)
		rsa_sign = PKCS1_PSS.new(rsa_key)
        #new(rsa_key, mgfunc=None, saltLen=None, randfunc=None)
		if rsa_sign.can_sign():
			return rsa_sign.sign(h)
		else:
			raise Exception
	except Exception as err:
		log_print("RSA sign fail", '', err)
	return signature

def Rsa256_verify_data(data, sig, rsa_key):
	try:
		h = SHA256.new(data)
		return PKCS1_PSS.new(rsa_key).verify(h, sig)
	except Exception as err:
		print("RSA verify fail", '', err)
		re
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值