public function decryptSessionData(string $sessionId, string $sessionData): string
    {
        if (!$sessionData) {
            return '';
        }

        $encryptedData = json_decode($sessionData);

        if (json_last_error() !== JSON_ERROR_NONE) {
            throw new UnableToDecryptException();
        }

        $initVector = base64_decode($encryptedData->initVector, true);
        if ($initVector === false) {
            throw new UnableToDecryptException();
        }

        $encryptionKey = $this->getEncryptionKey($sessionId);

        $decryptedData = @openssl_decrypt($encryptedData->data, $this->encryptionAlgorithm, $encryptionKey, 0, $initVector);
        if ($decryptedData === false) {
            throw new UnableToDecryptException();
        }

        return $decryptedData;
    }
public function decryptSessionData(string $sessionId, string $sessionData): string
    {
        if (!$sessionData) {
            return '';
        }

        $encryptedData = json_decode($sessionData);

        if (json_last_error() !== JSON_ERROR_NONE) {
            throw new UnableToDecryptException();
        }

        $initVector = base64_decode($encryptedData->initVector, true);
        if ($initVector === false) {
            throw new UnableToDecryptException();
        }

        $encryptionKey = $this->getEncryptionKey($sessionId);

        $decryptedData = @openssl_decrypt($encryptedData->data, $this->encryptionAlgorithm, $encryptionKey, 0, $initVector);
        if ($decryptedData === false) {
            throw new UnableToDecryptException();
        }

        return $decryptedData;
    }
public function decryptSessionData ( string $ sessionId , string $ sessionData ) : string { if ( ! $ sessionData ) { return '' ; } $ encryptedData = json_decode ( $ sessionData ) ; if ( json_last_error ( ) !== JSON_ERROR_NONE ) { throw new UnableToDecryptException ( ) ; } $ initVector = base64_decode ( $ encryptedData -> initVector , true ) ; if ( $ initVector === false ) { throw new UnableToDecryptException ( ) ; } $ encryptionKey = $ this -> getEncryptionKey ( $ sessionId ) ; $ decryptedData = @ openssl_decrypt ( $ encryptedData -> data , $ this -> encryptionAlgorithm , $ encryptionKey , 0 , $ initVector ) ; if ( $ decryptedData === false ) { throw new UnableToDecryptException ( ) ; } return $ decryptedData ; }
Decrypts the session data.

@throws UnableToDecryptException
@param  string $sessionId   The session id.
@param  string $sessionData The encrypted session data.
@return string The decrypted session data.
Decrypts the session data .