Go-Authorization
接口认证
一般接口开发中有以下常用的几种安全机制:
- 用户认证
- 数字签名
- 接口加密
用户认证
一般的接口测试工具都会提供一个User Auth/Authorization的选项
- 基本认证(Basic Auth)
- 摘要认证(Digest Auth)
- OAuth 2.0(最常见,现在的网站接口多数提供此用户认证方式)授权认证方式
接口需要认证:auth=(“username”,”password”)
数字签名
在使用 HTTP/SOAP 协议传输数据的时候,签名作为其中一个参数,可以起到关键作用:通过客户的密钥,服务端的密钥匹配;当服务器接收到请求后,同样需要对“signpassword”进行 MD5 加密,然后,比对与调用者传来的 sign 加密串是否一致,从而来鉴别调用者是否有权限使用该接口。
http://127.0.0.1:8000/sign/?a=1&b=2&sign=6648e929329e53e7a91c50ae685a88b5
接口加密
通常接口会使用更复杂一点的方式来进行加密的操作,常见的是AES的使用
AES加密里面有两个关键,一个是key(必须为16,24,32位),一个是VI(必须为16位)
解密:解密者必须要同时知道key和VI才可以解密