function sign($params)
{
uksort($params, 'strnatcmp');
foreach ($params as $key => &$value) {
$value = $key . '=' . rawurlencode($value);
}
// http_build_query uses urlencode rather than rawurlencode
return base64_encode(hash_hmac('sha256', implode("\n", array('GET', $this->host, $this->path, implode('&', $params))), $this->secret, TRUE));
}