Now, there are two approaches: A) I'll try to answer the question or B) I'll try to crack the link to the next step.<p>Let's go for B, and have some fun! Have a look at the source code.<p>The answer validator works in this way.<p>1) convert the 4 answer to lowercase (thank you, the space is reduced to 26 character, not bad).<p>2) call val() and concatenate, now we have something like a\0b\0c\0d<p>3) the validation function.
in that function there are 2 things happening. resultA is summed with the ASHII code of each character concatenated in the string.<p>resultA += dat.toLowerCase().charCodeAt(j);<p>and resultB is for each step resultA * 31 XOR with the previous version of resultB.<p>resultB = (resultA * 31) ^ resultB;<p>fancy.
Couple of other And.
tmp = resultA & resultA;
resultA = resultB & resultB;
resultB = tmp;<p>and finally a XOR.<p><pre><code> resultA = resultA ^ initA;
resultB = resultB ^ initB;
</code></pre>
Now, luckily enough, this transformation are reversible. It does remind me and encoding system. A variation of a famose one.<p>So, anyone up for a challenge ?