public function testHashData() { $data = 'known data'; $key = 'secret'; $hashedData = Security::hashData($data, $key); $this->assertFalse($data === $hashedData); $this->assertEquals($data, Security::validateData($hashedData, $key)); $hashedData[strlen($hashedData) - 1] = 'A'; $this->assertFalse(Security::validateData($hashedData, $key)); }
/** * Converts `$_COOKIE` into an array of [[Cookie]]. * @return array the cookies obtained from request */ protected function loadCookies() { $cookies = []; if ($this->enableCookieValidation) { $key = $this->getCookieValidationKey(); foreach ($_COOKIE as $name => $value) { if (is_string($value) && ($value = Security::validateData($value, $key)) !== false) { $cookies[$name] = new Cookie(['name' => $name, 'value' => @unserialize($value)]); } } } else { foreach ($_COOKIE as $name => $value) { $cookies[$name] = new Cookie(['name' => $name, 'value' => $value]); } } return $cookies; }