如何生成 HMAC 算法的密钥,因为我必须使用它在其他客户端进行数据验证?
提前致谢。
HMAC 密钥必须在服务器和客户端之间预先共享(在交换消息之前两者都必须知道密钥)。
您可以通过任何方式生成密钥,例如通过从 /dev/random 读取一些字节:
$fd = fopen('/dev/random', 'r');
$bytes = fread($fd, '64);
然后您可以使用以下方法计算 HMAC hash_hmac
:
$hash = hash_hmac('sha1', $data, $key);