473,320 Members | 1,746 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Script for password

24
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??
Mar 22 '07 #1
15 1739
AricC
1,892 Expert 1GB
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.
Mar 23 '07 #2
codeex
24
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.
Mar 23 '07 #3
AricC
1,892 Expert 1GB
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?
Mar 23 '07 #4
codeex
24
yes
and if its wrong to stay on the same page
Mar 23 '07 #5
AricC
1,892 Expert 1GB
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:
Expand|Select|Wrap|Line Numbers
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2.     <html>
  3.         <head>
  4.             <title>Coming...</title>
  5.                 <script type="text/javascript">
  6.         function CheckMe()
  7.         {
  8.         var strPassword = document.getElementById("strPassword").value
  9.         if (strPassword == "New England Clam Chowder")
  10.             {
  11.                 window.location="http://google.com"
  12.             }
  13.             else
  14.             {
  15.                 alert("No Way Jose")
  16.             }
  17.         }
  18.  
  19.  
  20.  
  21.  
  22.         </script>
  23.         </head>
  24.             <body>
  25.         The Password Is: New England Clam Chowder
  26.                   <form>
  27.             <input type="password" id="strPassword" size="25" />
  28.             <br />
  29.             <input type="button" onclick="CheckMe()" size="25" value="Submit" />
  30.         </form>
  31.             </body>
  32. </html>
  33.  
Mar 23 '07 #6
iam_clint
1,208 Expert 1GB
you could do a md5 hash

http://pajhome.org.uk/crypt/md5/
Mar 23 '07 #7
codeex
24
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??
Mar 23 '07 #8
AricC
1,892 Expert 1GB
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.
Mar 23 '07 #9
codeex
24
thank you for your help
Mar 23 '07 #10
AricC
1,892 Expert 1GB
thank you for your help
No problem, let us know if you need anymore :)
Mar 23 '07 #11
codeex
24
I am not familer with hd5 hash code how would i do it??
Mar 23 '07 #12
iam_clint
1,208 Expert 1GB
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
Expand|Select|Wrap|Line Numbers
  1. /*
  2. * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
  3. * Digest Algorithm, as defined in RFC 1321.
  4. * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
  5. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  6. * Distributed under the BSD License
  7. * See http://pajhome.org.uk/crypt/md5 for more info.
  8. */
  9.  
  10. /*
  11. * Configurable variables. You may need to tweak these to be compatible with
  12. * the server-side, but the defaults work in most cases.
  13. */
  14. var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase        */
  15. var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
  16. var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode     */
  17.  
  18. /*
  19. * These are the functions you'll usually want to call
  20. * They take string arguments and return either hex or base-64 encoded strings
  21. */
  22. function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
  23. function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
  24. function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
  25. function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
  26. function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
  27. function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
  28.  
  29. /*
  30. * Perform a simple self-test to see if the VM is working
  31. */
  32. function md5_vm_test()
  33. {
  34. return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
  35. }
  36.  
  37. /*
  38. * Calculate the MD5 of an array of little-endian words, and a bit length
  39. */
  40. function core_md5(x, len)
  41. {
  42. /* append padding */
  43. x[len >> 5] |= 0x80 << ((len) % 32);
  44. x[(((len + 64) >>> 9) << 4) + 14] = len;
  45.  
  46. var a = 1732584193;
  47. var b = -271733879;
  48. var c = -1732584194;
  49. var d = 271733878;
  50.  
  51. for(var i = 0; i < x.length; i += 16)
  52. {
  53.     var olda = a;
  54.     var oldb = b;
  55.     var oldc = c;
  56.     var oldd = d;
  57.  
  58.     a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
  59.     d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
  60.     c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
  61.     b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
  62.     a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
  63.     d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
  64.     c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
  65.     b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
  66.     a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
  67.     d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
  68.     c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
  69.     b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
  70.     a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
  71.     d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
  72.     c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
  73.     b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
  74.  
  75.     a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
  76.     d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
  77.     c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
  78.     b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
  79.     a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
  80.     d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
  81.     c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
  82.     b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
  83.     a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
  84.     d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
  85.     c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
  86.     b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
  87.     a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
  88.     d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
  89.     c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
  90.     b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
  91.  
  92.     a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
  93.     d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
  94.     c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
  95.     b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
  96.     a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
  97.     d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
  98.     c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
  99.     b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
  100.     a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
  101.     d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
  102.     c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
  103.     b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
  104.     a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
  105.     d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
  106.     c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
  107.     b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
  108.  
  109.     a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
  110.     d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
  111.     c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
  112.     b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
  113.     a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
  114.     d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
  115.     c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
  116.     b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
  117.     a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
  118.     d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
  119.     c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
  120.     b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
  121.     a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
  122.     d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
  123.     c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
  124.     b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
  125.  
  126.     a = safe_add(a, olda);
  127.     b = safe_add(b, oldb);
  128.     c = safe_add(c, oldc);
  129.     d = safe_add(d, oldd);
  130. }
  131. return Array(a, b, c, d);
  132.  
  133. }
  134.  
  135. /*
  136. * These functions implement the four basic operations the algorithm uses.
  137. */
  138. function md5_cmn(q, a, b, x, s, t)
  139. {
  140. return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
  141. }
  142. function md5_ff(a, b, c, d, x, s, t)
  143. {
  144. return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
  145. }
  146. function md5_gg(a, b, c, d, x, s, t)
  147. {
  148. return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
  149. }
  150. function md5_hh(a, b, c, d, x, s, t)
  151. {
  152. return md5_cmn(b ^ c ^ d, a, b, x, s, t);
  153. }
  154. function md5_ii(a, b, c, d, x, s, t)
  155. {
  156. return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
  157. }
  158.  
  159. /*
  160. * Calculate the HMAC-MD5, of a key and some data
  161. */
  162. function core_hmac_md5(key, data)
  163. {
  164. var bkey = str2binl(key);
  165. if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
  166.  
  167. var ipad = Array(16), opad = Array(16);
  168. for(var i = 0; i < 16; i++)
  169. {
  170.     ipad[i] = bkey[i] ^ 0x36363636;
  171.     opad[i] = bkey[i] ^ 0x5C5C5C5C;
  172. }
  173.  
  174. var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
  175. return core_md5(opad.concat(hash), 512 + 128);
  176. }
  177.  
  178. /*
  179. * Add integers, wrapping at 2^32. This uses 16-bit operations internally
  180. * to work around bugs in some JS interpreters.
  181. */
  182. function safe_add(x, y)
  183. {
  184. var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  185. var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  186. return (msw << 16) | (lsw & 0xFFFF);
  187. }
  188.  
  189. /*
  190. * Bitwise rotate a 32-bit number to the left.
  191. */
  192. function bit_rol(num, cnt)
  193. {
  194. return (num << cnt) | (num >>> (32 - cnt));
  195. }
  196.  
  197. /*
  198. * Convert a string to an array of little-endian words
  199. * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
  200. */
  201. function str2binl(str)
  202. {
  203. var bin = Array();
  204. var mask = (1 << chrsz) - 1;
  205. for(var i = 0; i < str.length * chrsz; i += chrsz)
  206.     bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
  207. return bin;
  208. }
  209.  
  210. /*
  211. * Convert an array of little-endian words to a string
  212. */
  213. function binl2str(bin)
  214. {
  215. var str = "";
  216. var mask = (1 << chrsz) - 1;
  217. for(var i = 0; i < bin.length * 32; i += chrsz)
  218.     str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  219. return str;
  220. }
  221.  
  222. /*
  223. * Convert an array of little-endian words to a hex string.
  224. */
  225. function binl2hex(binarray)
  226. {
  227. var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  228. var str = "";
  229. for(var i = 0; i < binarray.length * 4; i++)
  230. {
  231.     str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
  232.          hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
  233. }
  234. return str;
  235. }
  236.  
  237. /*
  238. * Convert an array of little-endian words to a base-64 string
  239. */
  240. function binl2b64(binarray)
  241. {
  242. var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  243. var str = "";
  244. for(var i = 0; i < binarray.length * 4; i += 3)
  245. {
  246.     var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
  247.                 | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
  248.                 | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
  249.     for(var j = 0; j < 4; j++)
  250.     {
  251.      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
  252.      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
  253.     }
  254. }
  255. return str;
  256. }
  257.  
then when the user inputs his password

you do
hex_md5("input string");

and compare with your md5 hash
Expand|Select|Wrap|Line Numbers
  1. <script>
  2. function checkpass(val) {
  3. if (hex_md5(val) == "a722c63db8ec8625af6cf71cb8c2d939") {
  4. alert("correct password");
  5. } else {
  6. alert("wrong password");
  7. }
  8. }
  9. </script>
  10.  
  11.  
  12. <input type="password" id="pass">
  13. <input type="button" onclick="var val = document.getElementById('pass'); checkpass(val);">
  14.  


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.
Mar 23 '07 #13
codeex
24
you add this script to your page as an include if you want but add it to the page
Expand|Select|Wrap|Line Numbers
  1. /*
  2. * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
  3. * Digest Algorithm, as defined in RFC 1321.
  4. * Version 2.1 Copyright (C) Paul Johnston 1999 - 2002.
  5. * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
  6. * Distributed under the BSD License
  7. * See http://pajhome.org.uk/crypt/md5 for more info.
  8. */
  9.  
  10. /*
  11. * Configurable variables. You may need to tweak these to be compatible with
  12. * the server-side, but the defaults work in most cases.
  13. */
  14. var hexcase = 0; /* hex output format. 0 - lowercase; 1 - uppercase        */
  15. var b64pad = ""; /* base-64 pad character. "=" for strict RFC compliance */
  16. var chrsz = 8; /* bits per input character. 8 - ASCII; 16 - Unicode     */
  17.  
  18. /*
  19. * These are the functions you'll usually want to call
  20. * They take string arguments and return either hex or base-64 encoded strings
  21. */
  22. function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz));}
  23. function b64_md5(s){ return binl2b64(core_md5(str2binl(s), s.length * chrsz));}
  24. function str_md5(s){ return binl2str(core_md5(str2binl(s), s.length * chrsz));}
  25. function hex_hmac_md5(key, data) { return binl2hex(core_hmac_md5(key, data)); }
  26. function b64_hmac_md5(key, data) { return binl2b64(core_hmac_md5(key, data)); }
  27. function str_hmac_md5(key, data) { return binl2str(core_hmac_md5(key, data)); }
  28.  
  29. /*
  30. * Perform a simple self-test to see if the VM is working
  31. */
  32. function md5_vm_test()
  33. {
  34. return hex_md5("abc") == "900150983cd24fb0d6963f7d28e17f72";
  35. }
  36.  
  37. /*
  38. * Calculate the MD5 of an array of little-endian words, and a bit length
  39. */
  40. function core_md5(x, len)
  41. {
  42. /* append padding */
  43. x[len >> 5] |= 0x80 << ((len) % 32);
  44. x[(((len + 64) >>> 9) << 4) + 14] = len;
  45.  
  46. var a = 1732584193;
  47. var b = -271733879;
  48. var c = -1732584194;
  49. var d = 271733878;
  50.  
  51. for(var i = 0; i < x.length; i += 16)
  52. {
  53.     var olda = a;
  54.     var oldb = b;
  55.     var oldc = c;
  56.     var oldd = d;
  57.  
  58.     a = md5_ff(a, b, c, d, x[i+ 0], 7 , -680876936);
  59.     d = md5_ff(d, a, b, c, x[i+ 1], 12, -389564586);
  60.     c = md5_ff(c, d, a, b, x[i+ 2], 17, 606105819);
  61.     b = md5_ff(b, c, d, a, x[i+ 3], 22, -1044525330);
  62.     a = md5_ff(a, b, c, d, x[i+ 4], 7 , -176418897);
  63.     d = md5_ff(d, a, b, c, x[i+ 5], 12, 1200080426);
  64.     c = md5_ff(c, d, a, b, x[i+ 6], 17, -1473231341);
  65.     b = md5_ff(b, c, d, a, x[i+ 7], 22, -45705983);
  66.     a = md5_ff(a, b, c, d, x[i+ 8], 7 , 1770035416);
  67.     d = md5_ff(d, a, b, c, x[i+ 9], 12, -1958414417);
  68.     c = md5_ff(c, d, a, b, x[i+10], 17, -42063);
  69.     b = md5_ff(b, c, d, a, x[i+11], 22, -1990404162);
  70.     a = md5_ff(a, b, c, d, x[i+12], 7 , 1804603682);
  71.     d = md5_ff(d, a, b, c, x[i+13], 12, -40341101);
  72.     c = md5_ff(c, d, a, b, x[i+14], 17, -1502002290);
  73.     b = md5_ff(b, c, d, a, x[i+15], 22, 1236535329);
  74.  
  75.     a = md5_gg(a, b, c, d, x[i+ 1], 5 , -165796510);
  76.     d = md5_gg(d, a, b, c, x[i+ 6], 9 , -1069501632);
  77.     c = md5_gg(c, d, a, b, x[i+11], 14, 643717713);
  78.     b = md5_gg(b, c, d, a, x[i+ 0], 20, -373897302);
  79.     a = md5_gg(a, b, c, d, x[i+ 5], 5 , -701558691);
  80.     d = md5_gg(d, a, b, c, x[i+10], 9 , 38016083);
  81.     c = md5_gg(c, d, a, b, x[i+15], 14, -660478335);
  82.     b = md5_gg(b, c, d, a, x[i+ 4], 20, -405537848);
  83.     a = md5_gg(a, b, c, d, x[i+ 9], 5 , 568446438);
  84.     d = md5_gg(d, a, b, c, x[i+14], 9 , -1019803690);
  85.     c = md5_gg(c, d, a, b, x[i+ 3], 14, -187363961);
  86.     b = md5_gg(b, c, d, a, x[i+ 8], 20, 1163531501);
  87.     a = md5_gg(a, b, c, d, x[i+13], 5 , -1444681467);
  88.     d = md5_gg(d, a, b, c, x[i+ 2], 9 , -51403784);
  89.     c = md5_gg(c, d, a, b, x[i+ 7], 14, 1735328473);
  90.     b = md5_gg(b, c, d, a, x[i+12], 20, -1926607734);
  91.  
  92.     a = md5_hh(a, b, c, d, x[i+ 5], 4 , -378558);
  93.     d = md5_hh(d, a, b, c, x[i+ 8], 11, -2022574463);
  94.     c = md5_hh(c, d, a, b, x[i+11], 16, 1839030562);
  95.     b = md5_hh(b, c, d, a, x[i+14], 23, -35309556);
  96.     a = md5_hh(a, b, c, d, x[i+ 1], 4 , -1530992060);
  97.     d = md5_hh(d, a, b, c, x[i+ 4], 11, 1272893353);
  98.     c = md5_hh(c, d, a, b, x[i+ 7], 16, -155497632);
  99.     b = md5_hh(b, c, d, a, x[i+10], 23, -1094730640);
  100.     a = md5_hh(a, b, c, d, x[i+13], 4 , 681279174);
  101.     d = md5_hh(d, a, b, c, x[i+ 0], 11, -358537222);
  102.     c = md5_hh(c, d, a, b, x[i+ 3], 16, -722521979);
  103.     b = md5_hh(b, c, d, a, x[i+ 6], 23, 76029189);
  104.     a = md5_hh(a, b, c, d, x[i+ 9], 4 , -640364487);
  105.     d = md5_hh(d, a, b, c, x[i+12], 11, -421815835);
  106.     c = md5_hh(c, d, a, b, x[i+15], 16, 530742520);
  107.     b = md5_hh(b, c, d, a, x[i+ 2], 23, -995338651);
  108.  
  109.     a = md5_ii(a, b, c, d, x[i+ 0], 6 , -198630844);
  110.     d = md5_ii(d, a, b, c, x[i+ 7], 10, 1126891415);
  111.     c = md5_ii(c, d, a, b, x[i+14], 15, -1416354905);
  112.     b = md5_ii(b, c, d, a, x[i+ 5], 21, -57434055);
  113.     a = md5_ii(a, b, c, d, x[i+12], 6 , 1700485571);
  114.     d = md5_ii(d, a, b, c, x[i+ 3], 10, -1894986606);
  115.     c = md5_ii(c, d, a, b, x[i+10], 15, -1051523);
  116.     b = md5_ii(b, c, d, a, x[i+ 1], 21, -2054922799);
  117.     a = md5_ii(a, b, c, d, x[i+ 8], 6 , 1873313359);
  118.     d = md5_ii(d, a, b, c, x[i+15], 10, -30611744);
  119.     c = md5_ii(c, d, a, b, x[i+ 6], 15, -1560198380);
  120.     b = md5_ii(b, c, d, a, x[i+13], 21, 1309151649);
  121.     a = md5_ii(a, b, c, d, x[i+ 4], 6 , -145523070);
  122.     d = md5_ii(d, a, b, c, x[i+11], 10, -1120210379);
  123.     c = md5_ii(c, d, a, b, x[i+ 2], 15, 718787259);
  124.     b = md5_ii(b, c, d, a, x[i+ 9], 21, -343485551);
  125.  
  126.     a = safe_add(a, olda);
  127.     b = safe_add(b, oldb);
  128.     c = safe_add(c, oldc);
  129.     d = safe_add(d, oldd);
  130. }
  131. return Array(a, b, c, d);
  132.  
  133. }
  134.  
  135. /*
  136. * These functions implement the four basic operations the algorithm uses.
  137. */
  138. function md5_cmn(q, a, b, x, s, t)
  139. {
  140. return safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s),b);
  141. }
  142. function md5_ff(a, b, c, d, x, s, t)
  143. {
  144. return md5_cmn((b & c) | ((~b) & d), a, b, x, s, t);
  145. }
  146. function md5_gg(a, b, c, d, x, s, t)
  147. {
  148. return md5_cmn((b & d) | (c & (~d)), a, b, x, s, t);
  149. }
  150. function md5_hh(a, b, c, d, x, s, t)
  151. {
  152. return md5_cmn(b ^ c ^ d, a, b, x, s, t);
  153. }
  154. function md5_ii(a, b, c, d, x, s, t)
  155. {
  156. return md5_cmn(c ^ (b | (~d)), a, b, x, s, t);
  157. }
  158.  
  159. /*
  160. * Calculate the HMAC-MD5, of a key and some data
  161. */
  162. function core_hmac_md5(key, data)
  163. {
  164. var bkey = str2binl(key);
  165. if(bkey.length > 16) bkey = core_md5(bkey, key.length * chrsz);
  166.  
  167. var ipad = Array(16), opad = Array(16);
  168. for(var i = 0; i < 16; i++)
  169. {
  170.     ipad[i] = bkey[i] ^ 0x36363636;
  171.     opad[i] = bkey[i] ^ 0x5C5C5C5C;
  172. }
  173.  
  174. var hash = core_md5(ipad.concat(str2binl(data)), 512 + data.length * chrsz);
  175. return core_md5(opad.concat(hash), 512 + 128);
  176. }
  177.  
  178. /*
  179. * Add integers, wrapping at 2^32. This uses 16-bit operations internally
  180. * to work around bugs in some JS interpreters.
  181. */
  182. function safe_add(x, y)
  183. {
  184. var lsw = (x & 0xFFFF) + (y & 0xFFFF);
  185. var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
  186. return (msw << 16) | (lsw & 0xFFFF);
  187. }
  188.  
  189. /*
  190. * Bitwise rotate a 32-bit number to the left.
  191. */
  192. function bit_rol(num, cnt)
  193. {
  194. return (num << cnt) | (num >>> (32 - cnt));
  195. }
  196.  
  197. /*
  198. * Convert a string to an array of little-endian words
  199. * If chrsz is ASCII, characters >255 have their hi-byte silently ignored.
  200. */
  201. function str2binl(str)
  202. {
  203. var bin = Array();
  204. var mask = (1 << chrsz) - 1;
  205. for(var i = 0; i < str.length * chrsz; i += chrsz)
  206.     bin[i>>5] |= (str.charCodeAt(i / chrsz) & mask) << (i%32);
  207. return bin;
  208. }
  209.  
  210. /*
  211. * Convert an array of little-endian words to a string
  212. */
  213. function binl2str(bin)
  214. {
  215. var str = "";
  216. var mask = (1 << chrsz) - 1;
  217. for(var i = 0; i < bin.length * 32; i += chrsz)
  218.     str += String.fromCharCode((bin[i>>5] >>> (i % 32)) & mask);
  219. return str;
  220. }
  221.  
  222. /*
  223. * Convert an array of little-endian words to a hex string.
  224. */
  225. function binl2hex(binarray)
  226. {
  227. var hex_tab = hexcase ? "0123456789ABCDEF" : "0123456789abcdef";
  228. var str = "";
  229. for(var i = 0; i < binarray.length * 4; i++)
  230. {
  231.     str += hex_tab.charAt((binarray[i>>2] >> ((i%4)*8+4)) & 0xF) +
  232.          hex_tab.charAt((binarray[i>>2] >> ((i%4)*8 )) & 0xF);
  233. }
  234. return str;
  235. }
  236.  
  237. /*
  238. * Convert an array of little-endian words to a base-64 string
  239. */
  240. function binl2b64(binarray)
  241. {
  242. var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
  243. var str = "";
  244. for(var i = 0; i < binarray.length * 4; i += 3)
  245. {
  246.     var triplet = (((binarray[i >> 2] >> 8 * ( i %4)) & 0xFF) << 16)
  247.                 | (((binarray[i+1 >> 2] >> 8 * ((i+1)%4)) & 0xFF) << 8 )
  248.                 | ((binarray[i+2 >> 2] >> 8 * ((i+2)%4)) & 0xFF);
  249.     for(var j = 0; j < 4; j++)
  250.     {
  251.      if(i * 8 + j * 6 > binarray.length * 32) str += b64pad;
  252.      else str += tab.charAt((triplet >> 6*(3-j)) & 0x3F);
  253.     }
  254. }
  255. return str;
  256. }
  257.  




where in do i put this part??? inside the <head></head>?
Mar 23 '07 #14
codeex
24
and do i have to use <input type="button"> feature?? is there a way to do it where they can just hit enter?
Mar 23 '07 #15
eragon
431 256MB
have you tried <input type="submit">? that works on enter i believe
May 27 '07 #16

Sign in to post your reply or Sign up for a free account.

Similar topics

10
by: Max | last post by:
Hello all, I am trying to protect a page within my site with a JS password scheme. Now I know JS can be quite easily "circumvented", but I came by a code below. My question is: 1. Is there...
0
by: soundchaser | last post by:
I'm looking for a simple but complete example of creating a VB.Net ActiveX / COM component from a C Library. One should be able to use it by calling the Server.CreateObject method from an ASP...
9
by: Jerim79 | last post by:
I am no PHP programmer. At my current job I made it known that I was no PHP programmer during the interview. Still they have given me a script to write with the understanding that it will take me a...
9
by: 8anos | last post by:
Hello, I am new at the community and newbie at programming :) As you may know rapidshare provides a perl script for linux, to upload files at their servers. You can find the original scripts at...
2
by: Nosferatum | last post by:
This script is meant to limit access by sessions, using username and password from mysql db and redirect users after login according to a given value belonging to each user in the db (10,20,30,40)....
1
by: Andrew Murray | last post by:
I'm a novice at coding and cannot get the script below to work I'm receiving an Error 500 in the web browser when trying to run this script. The site is www.murraywebs.com and the link is...
5
by: silmana | last post by:
hello, i have this problem that i cannot bound the registration script to the login script, what i mean is that when i register, i cannot login in the login script although the information comes to...
3
by: Faisal Shah | last post by:
As the solution.. I have got this script code.. it's an open source so i can modify it.. The problem is it's a guest book script written in very highly and deeply php language that I am not able...
82
by: happyse27 | last post by:
Hi All, I modified the user registration script, but not sure how to make it check for each variable in terms of preventing junk registration and invalid characters? Two codes below : a)...
3
by: bollweevil | last post by:
Hello Everyone, I do Django web development on my Mac at home, and then I rsync the files with the Ubuntu web server. I want to write one single bash shell script that rsyncs the files and...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome former...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.