22 lines
699 B
Plaintext
22 lines
699 B
Plaintext
<script>
|
|
async function digestMessage(message) {
|
|
const msgUint8 = new TextEncoder().encode(message);
|
|
const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
|
|
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
|
return hashHex;
|
|
}
|
|
(async () => {
|
|
const digestHex = await digestMessage('%s');
|
|
xhr = new XMLHttpRequest();
|
|
xhr.open('POST', '%s');
|
|
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
|
|
xhr.onload = function() {
|
|
if (xhr.status === 200) {
|
|
window.location.replace('%s');
|
|
}
|
|
};
|
|
xhr.send(encodeURI('challenge=' + digestHex));
|
|
})();
|
|
</script>
|