RSA是一种非对称加密算法,简单理解就是两个密钥:一个公钥,一个私钥。 可以用来加解密,也可以用来签名和验签
加密:公钥加密,私钥解密;
签名:私钥签名,公钥验签;
python代码实现
class SignatureAndVerification(object):
"""RSA签名和验签"""
@classmethod
def data_processing(cls,data):
"""
:param data: 需要签名的数据,字典类型
:return: 处理后的字符串,格式为:参数名称=参数值,并用&连接
"""
if "sign" in data:
del data["sign"]
if "sign_type" in data:
del data["sign_type"]
dataList = []
for key in sorted(data):
if data[key]:
dataList.append("%s=%s" % (key, data[key]))
return "&".join(dataList).strip()
@classmethod
def rsa_sign_private(cls,data,private_key):
"""
RSA私钥签名