一、加密方式
1.1说明
encryption(key,value); 加密伪代码 black(time);黑盒伪代码
DPR!=SPR
私钥不通过网络传输
DPR在终端上不以明文的方式存储(图片)
BLACKBOX 的生成方式采用C 语言执行
确保终端和服务器都可以随时更改DPR
确保BLACKBOX 也是随时可以变动的,并且DPR 生成后立马销毁
1.2详细流程
1.2.1 第一次握手
终端执行
Time time=System.currentTime() 可以设置随机数偏移
BLACKBOX =black(time)
DPU=(设备号加时间戳)
DPU=encryption(BLACKBOX,DPU)
终端发送DPU 到服务器
服务器执行
BLACKBOX =black(time)
SPU=(随机数)
SPR=encryption(BLACKBOX,DPU)
DPR=encryption(BLACKBOX,SPU)
服务器返回SPU
终端执行
SPR=encryption(BLACKBOX,DPU)
DPR=encryption(BLACKBOX,SPU)
1.2.2 传输数据
终端发送数据
Header: SPU,DPU
数据 JSON SPR 加密
服务器接收数据
验证DPU是否合法
通过SPR解密
返回数据 DPR 加密
终端接收数据
验证SPU是否合法
通过DPR解密
1.2.3 用户登录
DPU=DPU+UserId
SPU=SPU+UserId
重新生成私钥