Code:
<html>
<head>
<title>JavaScript Checksum</title>
<!-- Checksum Example -->
<script language="javascript" type="text/javascript">
// Compute Checksum:
function Compute(str)
{
var result = 0;
var length = str.length;
for (var i = 0; i < length; i++)
{
var a = str.charAt(i);
var b = a.charCodeAt();
result = (result + b);
}
return result;
}
// This function gets the hexadecimal value with specified bits:
function decimalToHex(dec, bits)
{
var hex = Number(dec).toString(16).toUpperCase();
var length = hex.length;
switch(bits)
{
case 8:
if (length < 2)
{
while (length < 2)
{
hex = "0" + hex;
length += 1;
}
}
else if (length > 2)
{
while (length > 2)
{
hex = hex.substr(1, hex.length - 1);
length -= 1;
}
}
break;
case 16:
if (length < 4)
{
while (length < 4)
{
hex = "0" + hex;
length += 1;
}
}
else if (length > 4)
{
while (length > 4)
{
hex = hex.substr(1, hex.length - 1);
length -= 1;
}
}
break;
case 32:
if (length < 8)
{
while (length < 8)
{
hex = "0" + hex;
length += 1;
}
}
else if (length > 8)
{
while (length > 8)
{
hex = hex.substr(1, hex.length - 1);
length -= 1;
}
}
break;
case 64:
if (length < 16)
{
while (length < 16)
{
hex = "0" + hex;
length += 1;
}
}
else if (length > 16)
{
while (length > 16)
{
hex = hex.substr(1, hex.length - 1);
length -= 1;
}
}
break;
default:
alert("Invalid bits!");
hex = null;
break;
}
return hex;
}
// This function prompts for a text string:
function getString()
{
var str = prompt("Enter some text", "");
return str;
}
// This function runs the whole process:
function showMessage()
{
try
{
var str = getString();
if(str != null && str != "")
{
var message = "Text: " + str;
message += "\n";
var sum = Compute(str);
message += "Checksum8: 0x" + decimalToHex(sum, 8);
message += "\n";
message += "Checksum16: 0x" + decimalToHex(sum, 16);
message += "\n";
message += "Checkusm32: 0x" + decimalToHex(sum, 32);
message += "\n";
message += "Checksum64: 0x" + decimalToHex(sum, 64);
alert(message);
}
}
catch(err)
{
var message = "There was an error on the page.";
message += "\n";
message += "\n";
message += err.description;
alert(message);
}
}
</script>
</head>
<body onload="showMessage();"></body>
</html>