1、给应用分配一个账号(user)和密码(password),相当于(公钥和私钥)

2、服务器后台存储该账号和密码(密文存储 MD5加密)

3、应用端在通过HTTP请求该接口的时候,需要在HTTP HEADER 附带下面几个字段

时间 date=unix 时间戳
签名 sign=sign
该sign的生成算法是这样的

String sign = HTTPMETHOD(GET/POST)+ api_uri(API的访问URI)+date(即上面的UNIX时间戳)+length(发送body的数据长度)+password(后台颁发的密码)

sign = MD5(sign)

sign = user+":"+sign

4、后台服务器在接收到请求后

1、比对HTTP头中的时间戳,比对服务器时间,如果超过某个阈值,则拒绝访问,同时返回请校准你的应用时间。

2、如果没有超过时间阈值,则从sign中取出user然后在数据库中查找对应的password,然后同样根据上面的sign算法生成sign,进行身份认证,认证成功则执行API,失败则返回认证失败。

标签: password,MD5加密,服务器,数据库,接口