. */ namespace SP\Core\Crypt; use SP\Core\Session as CoreSession; /** * Class Session * * @package SP\Core\Crypt */ class Session { /** * Devolver la clave maestra de la sesión * * @return string * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException * @throws \Defuse\Crypto\Exception\BadFormatException */ public static function getSessionKey() { $securedKey = Crypt::unlockSecuredKey(CoreSession::getMPassPwd(), self::getPassword()); return Crypt::decrypt(CoreSession::getMPass(), $securedKey); } /** * Devolver la clave utilizada para generar la llave segura * * @return string */ private static function getPassword() { // FIXME return session_id() . CoreSession::getUserData()->getUserLogin(); } /** * Guardar la clave maestra en la sesión * * @param $data * @throws \Defuse\Crypto\Exception\EnvironmentIsBrokenException * @throws \Defuse\Crypto\Exception\BadFormatException */ public static function saveSessionKey($data) { $securedKey = Crypt::makeSecuredKey(self::getPassword()); CoreSession::setMPassPwd($securedKey); CoreSession::setMPass(Crypt::encrypt($data, $securedKey)); } }