public function testCompressSign() { $my_string = str_repeat('AAAAABBBBBCCCCCDDDDD', 20); $signed = Sign::dumps($my_string, 'my-key'); $this->assertEquals('.', substr($signed, 0, 1)); $recover = Sign::loads($signed, 'my-key'); $this->assertEquals($my_string, $recover); }
/** * Parse a cookie string. * * Automatically perform the signature check. * * @param $cookie Cookie string * @param $key Shared key for HMAC signature * @return array Valid cookies in associative array */ public static function parse_cookie($cookie, $key) { $c = \http_parse_cookie($cookie); $cookies = array(); foreach ($c->cookies as $name => $val) { if (strlen($val) > 0) { try { $cookies[$name] = \photon\crypto\Sign::loads($val, $key); } catch (\Exception $e) { // We simply ignore bad cookies. } } } return $cookies; }