I have a <form></form> set up on my web page for passwords. i want to make it so only one password would work. how can i do that in javascript??
15 1585
I have a <form></form> set up on my web page for passwords. i want to make it so only one password would work. how can i do that in javascript??
Do you want to make the password secure? If so javascript isn't the way to go. You would basically use javascript to check for validation and if you have the user verify the password you can use javascript to check that both inputs are the same.
It dosent need to be secure, i have 2 pages that have a password box, and i just want to make it so only one password works on the page and when they type it in it will go to another page.
It dosent need to be secure, i have 2 pages that have a password box, and i just want to make it so only one password works on the page and when they type it in it will go to another page.
So when you type the password in if it is correct you want it to go to another page?
yes
and if its wrong to stay on the same page
It dosent need to be secure, i have 2 pages that have a password box, and i just want to make it so only one password works on the page and when they type it in it will go to another page.
People don't usually do this that is why we are asking so many questions. You do realize that the entire world can right click and view the source to see this password?
Here is an example: -
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
-
<html>
-
<head>
-
<title>Coming...</title>
-
<script type="text/javascript">
-
function CheckMe()
-
{
-
var strPassword = document.getElementById("strPassword").value
-
if (strPassword == "New England Clam Chowder")
-
{
-
window.location="http://google.com"
-
}
-
else
-
{
-
alert("No Way Jose")
-
}
-
}
-
-
-
-
-
</script>
-
</head>
-
<body>
-
The Password Is: New England Clam Chowder
-
<form>
-
<input type="password" id="strPassword" size="25" />
-
<br />
-
<input type="button" onclick="CheckMe()" size="25" value="Submit" />
-
</form>
-
</body>
-
</html>
-
yes i do realize that its not import information im trying to guard its more of a block.
But how could i make it more secure??
yes i do realize that its not import information im trying to guard its more of a block.
But how could i make it more secure??
Check out Clint's solution above I think it would be more than adequate for what you are trying to do.
thank you for your help
No problem, let us know if you need anymore :)
I am not familer with hd5 hash code how would i do it??
So you take your password
pass1 for example... use http://pajhome.org.uk/crypt/md5/ to convert it into md5 which will = a722c63db8ec8625af6cf71cb8c2d939
you add this script to your page as an include if you want but add it to the page -
/*
-
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
-
* Digest Algorithm, as defined in RFC 1321.
-
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
-
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-
* Distributed under the BSD License
-
* See http://pajhome.org.uk/crypt/md5 for more info.
-
*/
-
-
/*
-
* Configurable variables. You may need to tweak these to be compatible with
-
* the server-side, but the defaults work in most cases.
-
*/
-
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
-
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
-
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
-
-
/*
-
* These are the functions you'll usually want to call
-
* They take string arguments and return either hex or base-64 encoded strings
-
*/
-
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
-
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
-
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
-
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
-
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
-
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
-
-
/*
-
* Perform a simple self-test to see if the VM is working
-
*/
-
function md5_vm_test()
-
{
-
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
-
}
-
-
/*
-
* Calculate the MD5 of an array of little-endian words, and a bit length
-
*/
-
function core_md5(x, len)
-
{
-
/* append padding */
-
x[len >> 5] |= 0x80 << ((len) % 32);
-
x[(((len + 64) >>> 9) << 4) + 14] = len;
-
-
var a = 1732584193;
-
var b = -271733879;
-
var c = -1732584194;
-
var d = 271733878;
-
-
for(var i = 0; i < x.length; i += 16)
-
{
-
var olda = a;
-
var oldb = b;
-
var oldc = c;
-
var oldd = d;
-
-
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
-
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
-
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
-
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
-
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
-
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
-
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
-
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
-
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
-
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
-
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
-
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
-
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
-
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
-
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
-
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
-
-
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
-
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
-
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
-
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
-
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
-
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
-
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
-
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
-
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
-
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
-
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
-
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
-
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
-
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
-
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
-
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
-
-
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
-
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
-
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
-
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
-
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
-
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
-
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
-
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
-
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
-
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
-
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
-
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
-
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
-
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
-
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
-
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
-
-
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
-
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
-
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
-
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
-
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
-
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
-
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
-
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
-
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
-
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
-
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
-
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
-
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
-
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
-
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
-
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
-
-
a = safe_add(a, olda);
-
b = safe_add(b, oldb);
-
c = safe_add(c, oldc);
-
d = safe_add(d, oldd);
-
}
-
return Array(a, b, c, d);
-
-
}
-
-
/*
-
* These functions implement the four basic operations the algorithm uses.
-
*/
-
function md5_cmn(q, a, b, x, s, t)
-
{
-
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
-
}
-
function md5_ff(a, b, c, d, x, s, t)
-
{
-
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
-
}
-
function md5_gg(a, b, c, d, x, s, t)
-
{
-
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
-
}
-
function md5_hh(a, b, c, d, x, s, t)
-
{
-
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
-
}
-
function md5_ii(a, b, c, d, x, s, t)
-
{
-
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
-
}
-
-
/*
-
* Calculate the HMAC-MD5, of a key and some data
-
*/
-
function core_hmac_md5(key, data)
-
{
-
var bkey = str2binl(key);
-
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
-
-
var ipad = Array(16), opad = Array(16);
-
for(var i = 0; i < 16; i++)
-
{
-
ipad[i] = bkey[i] ^ 0x36363636;
-
opad[i] = bkey[i] ^ 0x5C5C5C5C;
-
}
-
-
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
-
return core_md5(opad.concat(hash), 512 + 128);
-
}
-
-
/*
-
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
-
* to work around bugs in some JS interpreters.
-
*/
-
function safe_add(x, y)
-
{
-
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
-
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
-
return (msw << 16) | (lsw & 0xFFFF);
-
}
-
-
/*
-
* Bitwise rotate a 32-bit number to the left.
-
*/
-
function bit_rol(num, cnt)
-
{
-
return (num << cnt) | (num >>> (32 - cnt));
-
}
-
-
/*
-
* Convert a string to an array of little-endian words
-
* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
-
*/
-
function str2binl(str)
-
{
-
var bin = Array();
-
var mask = (1 << chrsz) - 1;
-
for(var i = 0; i < str.length * chrsz; i += chrsz)
-
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
-
return bin;
-
}
-
-
/*
-
* Convert an array of little-endian words to a string
-
*/
-
function binl2str(bin)
-
{
-
var str = "";
-
var mask = (1 << chrsz) - 1;
-
for(var i = 0; i < bin.length * 32; i += chrsz)
-
str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
-
return str;
-
}
-
-
/*
-
* Convert an array of little-endian words to a hex string.
-
*/
-
function binl2hex(binarray)
-
{
-
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
-
var str = "";
-
for(var i = 0; i < binarray.length * 4; i++)
-
{
-
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
-
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
-
}
-
return str;
-
}
-
-
/*
-
* Convert an array of little-endian words to a base-64 string
-
*/
-
function binl2b64(binarray)
-
{
-
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
var str = "";
-
for(var i = 0; i < binarray.length * 4; i += 3)
-
{
-
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
-
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
-
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
-
for(var j = 0; j < 4; j++)
-
{
-
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
-
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
-
}
-
}
-
return str;
-
}
-
then when the user inputs his password
you do
hex_md5("input string");
and compare with your md5 hash -
<script>
-
function checkpass(val) {
-
if (hex_md5(val) == "a722c63db8ec8625af6cf71cb8c2d939") {
-
alert("correct password");
-
} else {
-
alert("wrong password");
-
}
-
}
-
</script>
-
-
-
<input type="password" id="pass">
-
<input type="button" onclick="var val = document.getElementById('pass'); checkpass(val);">
-
this would make it secure because
no one would know the password... viewing the source would only show them the md5 hash and good luck converting it back then you just convert what they input to md5 and compair the md5 hashes instead of strings.
so even if they know the hash if they put
a722c63db8ec8625af6cf71cb8c2d939 into the password box it will then convert this into md5 and it would be different so i would say md5 is a pretty good security measure and lots of people use it (mostly server side).
if you don't understand post again on what part you don't understand.
you add this script to your page as an include if you want but add it to the page -
/*
-
* A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
-
* Digest Algorithm, as defined in RFC 1321.
-
* Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
-
* Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
-
* Distributed under the BSD License
-
* See http://pajhome.org.uk/crypt/md5 for more info.
-
*/
-
-
/*
-
* Configurable variables. You may need to tweak these to be compatible with
-
* the server-side, but the defaults work in most cases.
-
*/
-
var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase */
-
var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
-
var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode */
-
-
/*
-
* These are the functions you'll usually want to call
-
* They take string arguments and return either hex or base-64 encoded strings
-
*/
-
function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
-
function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
-
function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
-
function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
-
function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
-
function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
-
-
/*
-
* Perform a simple self-test to see if the VM is working
-
*/
-
function md5_vm_test()
-
{
-
return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
-
}
-
-
/*
-
* Calculate the MD5 of an array of little-endian words, and a bit length
-
*/
-
function core_md5(x, len)
-
{
-
/* append padding */
-
x[len >> 5] |= 0x80 << ((len) % 32);
-
x[(((len + 64) >>> 9) << 4) + 14] = len;
-
-
var a = 1732584193;
-
var b = -271733879;
-
var c = -1732584194;
-
var d = 271733878;
-
-
for(var i = 0; i < x.length; i += 16)
-
{
-
var olda = a;
-
var oldb = b;
-
var oldc = c;
-
var oldd = d;
-
-
a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
-
d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
-
c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
-
b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
-
a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
-
d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
-
c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
-
b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
-
a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
-
d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
-
c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
-
b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
-
a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
-
d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
-
c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
-
b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
-
-
a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
-
d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
-
c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
-
b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
-
a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
-
d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
-
c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
-
b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
-
a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
-
d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
-
c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
-
b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
-
a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
-
d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
-
c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
-
b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
-
-
a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
-
d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
-
c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
-
b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
-
a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
-
d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
-
c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
-
b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
-
a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
-
d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
-
c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
-
b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
-
a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
-
d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
-
c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
-
b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
-
-
a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
-
d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
-
c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
-
b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
-
a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
-
d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
-
c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
-
b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
-
a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
-
d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
-
c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
-
b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
-
a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
-
d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
-
c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
-
b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
-
-
a = safe_add(a, olda);
-
b = safe_add(b, oldb);
-
c = safe_add(c, oldc);
-
d = safe_add(d, oldd);
-
}
-
return Array(a, b, c, d);
-
-
}
-
-
/*
-
* These functions implement the four basic operations the algorithm uses.
-
*/
-
function md5_cmn(q, a, b, x, s, t)
-
{
-
return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
-
}
-
function md5_ff(a, b, c, d, x, s, t)
-
{
-
return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
-
}
-
function md5_gg(a, b, c, d, x, s, t)
-
{
-
return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
-
}
-
function md5_hh(a, b, c, d, x, s, t)
-
{
-
return md5_cmn(b ^ c ^ d, a, b, x, s, t);
-
}
-
function md5_ii(a, b, c, d, x, s, t)
-
{
-
return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
-
}
-
-
/*
-
* Calculate the HMAC-MD5, of a key and some data
-
*/
-
function core_hmac_md5(key, data)
-
{
-
var bkey = str2binl(key);
-
if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
-
-
var ipad = Array(16), opad = Array(16);
-
for(var i = 0; i < 16; i++)
-
{
-
ipad[i] = bkey[i] ^ 0x36363636;
-
opad[i] = bkey[i] ^ 0x5C5C5C5C;
-
}
-
-
var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
-
return core_md5(opad.concat(hash), 512 + 128);
-
}
-
-
/*
-
* Add integers, wrapping at 2^32. This uses 16-bit operations internally
-
* to work around bugs in some JS interpreters.
-
*/
-
function safe_add(x, y)
-
{
-
var lsw = (x & 0xFFFF) + (y & 0xFFFF);
-
var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
-
return (msw << 16) | (lsw & 0xFFFF);
-
}
-
-
/*
-
* Bitwise rotate a 32-bit number to the left.
-
*/
-
function bit_rol(num, cnt)
-
{
-
return (num << cnt) | (num >>> (32 - cnt));
-
}
-
-
/*
-
* Convert a string to an array of little-endian words
-
* If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
-
*/
-
function str2binl(str)
-
{
-
var bin = Array();
-
var mask = (1 << chrsz) - 1;
-
for(var i = 0; i < str.length * chrsz; i += chrsz)
-
bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
-
return bin;
-
}
-
-
/*
-
* Convert an array of little-endian words to a string
-
*/
-
function binl2str(bin)
-
{
-
var str = "";
-
var mask = (1 << chrsz) - 1;
-
for(var i = 0; i < bin.length * 32; i += chrsz)
-
str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
-
return str;
-
}
-
-
/*
-
* Convert an array of little-endian words to a hex string.
-
*/
-
function binl2hex(binarray)
-
{
-
var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
-
var str = "";
-
for(var i = 0; i < binarray.length * 4; i++)
-
{
-
str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
-
hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
-
}
-
return str;
-
}
-
-
/*
-
* Convert an array of little-endian words to a base-64 string
-
*/
-
function binl2b64(binarray)
-
{
-
var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-
var str = "";
-
for(var i = 0; i < binarray.length * 4; i += 3)
-
{
-
var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
-
| (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
-
| ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
-
for(var j = 0; j < 4; j++)
-
{
-
if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
-
else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
-
}
-
}
-
return str;
-
}
-
where in do i put this part??? inside the <head></head>?
and do i have to use <input type="button"> feature?? is there a way to do it where they can just hit enter?
have you tried <input type="submit">? that works on enter i believe
Post your reply Sign in to post your reply or Sign up for a free account.
Similar topics
10 posts
views
Thread by Max |
last post: by
|
reply
views
Thread by soundchaser |
last post: by
|
9 posts
views
Thread by Jerim79 |
last post: by
| |
2 posts
views
Thread by Nosferatum |
last post: by
|
1 post
views
Thread by Andrew Murray |
last post: by
| | | | | | | | | | | | | | |