Important: Please read the Qt Code of Conduct -

Simple Encryption/Decryption in QWebView

  • I'm making a browser using QWebView and I want to achieve the following things:

    Browser----->sends request to server----->server responds with simple encrypted data----->browser decrypts & tampers with the data and shows it.

    I want this encryption for each and every request made by the browser, even for the images.

    But the problem is I cannot figure out how to decrypt the received data before viewing it.
    I haven't found any signals or virtual functions that I could override.

    I even tried changing the QNetworkAccessManager and then tried tampering with the QNetworkReply, but the QNetworkReply is readonly.

    So has anyone got a solution to this?

  • Have you tried to send a request, fetch the response from the network, decrypt it to an html file stored locally and then to load the local web page?

  • Is there any reason you're not using SSL? I mean: it does exactly what you describe already, an a transparent way.

  • Yes SSL is a solution. But enryption is not the only task I'm looking to achieve. I even want to tamper the received data(append, remove or completely change the data).

  • I think you best bet is to subclass [[doc:QNetworkAccessManager]] and [[doc:QNetworkReply]]. In your subclass of QNAM, you reimplement the createRequest method to return your own subclass of QNetworkReply. Your custom reply class can manipulate the data as it streams in or just when it is read out.

Log in to reply