Questionmark's Open Assessment Platform

Calculating an MD5 checksum

In order to use secure headers with QMWISe you will need to generate the correct MD5 checksum from a username and password.

What is an MD5 checksum and where is it used?

Message-Digest algorithm 5 otherwise known as MD5 in a method for encrypting information to ensure that it has not been tampered with or cannot be read easily. An MD5 checksum, is a one-way operation that transforms a stream of data of any length into a shorter fixed-length value. Virtually no two streams of data will produce the same value. This allows users to use MD5 checksums to pass information from one source to another securely.

Perception uses MD5 encryption to produce a checksum that contains all the relevant security information to authenticate requests to the Perception database. If information is requested or sent to the Perception database using QMWISe and it does not contain the correct checksum the request is denied and returned with an error.

Obtaining the MD5 checksum from the Test Harness

If your QMWISe installation is configured to use SOAP headers for authentication in the request and response messages, you will need to calculate checksums for use in the Security section of the input data.

To calculate the security checksum:

  1. Select Options Security settings from the Menu bar.
  2. Enter the Name of the Perception administrator.
  3. Enter the Password of the Perception administrator.
  4. Click OK.

The ClientID and Checksum entries in the Security section of the input data will display the new information:

The user you are calculating the checksum for the security information must have the appropriate permissions to run QMWISe web services.

An example SOAP request and response can be seen in the relevant tab once a web service method has been selected and the Invoke button has been clicked. The text below shows the example SOAP request generated using the CheckParticipant (LINK NEEDED!) web service method:

<?xml version="1.0"?>

<soap:Envelope xmlns:soap="">


<Security xmlns="">






<CheckParticipant xmlns="">




</soap:Body> </soap:Envelope>