private Cipher initCipher() throws NTLMEngineException
        {
            final Cipher cipher;
            try
            {
                cipher = Cipher.getInstance( "RC4" );
                if ( mode == Mode.CLIENT )
                {
                    cipher.init( Cipher.ENCRYPT_MODE, new SecretKeySpec( sealingKey, "RC4" ) );
                }
                else
                {
                    cipher.init( Cipher.DECRYPT_MODE, new SecretKeySpec( sealingKey, "RC4" ) );
                }
            }
            catch ( final Exception e )
            {
                throw new NTLMEngineException( e.getMessage(), e );
            }
            return cipher;
        }
Creates the LMv2 Response from the given hash, client data, and Type 2
challenge.

@param hash
           The NTLMv2 Hash.
@param clientData
           The client data (blob or client challenge).
@param challenge
           The server challenge from the Type 2 message.

@return The response (either NTLMv2 or LMv2, depending on the client
        data).
httpclient5/src/main/java/org/apache/hc/client5/http/impl/auth/NTLMEngineImpl.java