Mashery 允许通过数字签名进行身份验证,如下所示:
- 首先,连接以下组件:
- API 密钥
- 共享秘密
- UNIX 时间戳
- 然后,创建连接字符串的 MD5 哈希。
文档指出,unix 时间戳只需要 +/- 5 分钟的精度。详细信息:http: //support.mashery.com/docs/read/mashery_api/20/Authentication。
假设这不是商业机密,那么执行这样的身份验证的算法是什么?
具体来说,当 unix 时间戳可以变化 5 分钟时,这怎么可能?“蛮力”技术可能是计算每个可能的时间戳值的签名,直到找到匹配(或不匹配),但这对于验证频繁的 API 调用似乎并不实用。