Exemplo n.º 1
0
 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);
 }
Exemplo n.º 2
0
 /**
  * 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;
 }