为同一请求生成不同的hmac

时间:2019-06-21 08:55:03

标签: php security cryptography hmac

我使用的是Phalcon PHP,我想使用hmac方法保护我的API,因此我将采用请求有效负载并以特殊顺序创建哈希(客户端知道此顺序):

$secret = 'my-secret'
$body = $this->request->getJsonRawBody(); // Get raw body data

// Build hmac payload with request parameters
$payload = $body->param2 . $body->param3 . $body->param1
// Generate hmac
$local_hash = hash_hmac('sha256', $payload, $secret);

所以我有一个使用时间戳或随机字符串的想法。例如,客户端在请求(Header-Time: 1561106848)中设置了自定义标头,然后可以在有效负载中使用它。但这没有任何改变,因为如果有人拦截了该请求,他就可以执行该请求,并且hmac可以正常工作。

有什么东西每次都会生成不同的hmac吗?

0 个答案:

没有答案