登录逻辑:
1.调用接口返回随机数randomString、AES密钥aesKey和RAS公钥rasPublicKey
2.用AES密钥对随机数进行加密
3.在步骤2的结果后加:密码进行拼接
4.对步骤3的结果进行RAS加密得到登录密码
一.调用接口获得返回数据
接口返回数据:
{
“code”: 200,
“data”: {
“encrytionKey”: true,
“randomString”: “0bd4d34d-1be7-4582-b939-956170a8f033-4f4jivbutz”,
“rasPublicKey”: “MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDaU3pFuKJ43znRPK5CnJb+bb/q5JqiGR5W5K//Qtgga9B+/rnJh6zwlPcWfFD5TC06wpriVoXdelWuFSZXx+zzHqPgxyKlGBg95/4bysoBapD5MytTXVy1cViQxYyXEmVy8ZtTWh0ABL7CAl7Dc3Oc77Zg3FYdHAy6ZfON1qLdcwIDAQAB”,
“aesKey”: “MAVxZEZb+J1+//VIAyWLcQ==”
}
}
从接口返回数据我们得到了随机数randomString、AES密钥aesKey和RAS公钥rasPublicKey
二、对随机数进行AES加密
AES加密函数如下。模块为AES
import base64
from Crypto.Cipher import AES
class EncryptDate:
def __init__(self, key):
'''
python实现AES中