Monday 4 November 2013

How to canvert java object into xml file (Vice Versa)

JAXB, stands for Java Architecture for XML Binding, using JAXB annotation we can convert Java object into XML file and Xml file into java object (Vice versa).
No extra jaxb libraries are required if you are using JDK1.6  


For object that need to convert to / from XML file, it have to annotate with JAXB annotation

//---------------- Save as Customer.java ------------------------

package com.ramsiscode.jaxb;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement
public class Customer {

int id;
String name;
int age;
String address;
public int getId() {
return id;
}
@XmlElement
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
@XmlElement
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
@XmlElement
public void setAddress(String address) {
this.address = address;
}

}


//-----------------------------------------------------------

JAXB marshalling example, for convert customer object into a XML file

//------------------- save as ConvertXML.java -------------------------



package com.ramsiscode.jaxb;
import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;


public class ConvertXML {

public static void main(String args[]){

Customer customer = new Customer();
customer.setId(101);
customer.setName("Aman");
customer.setAge(28);
customer.setAddress("Noida, Uttar Pradesh India.");

try{

File file = new File("D:\\customer.XML");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
jaxbMarshaller.marshal(customer, file);
jaxbMarshaller.marshal(customer, System.out);

}
catch (Exception ex){

ex.printStackTrace();

}

}

}


//----------------- output -----------------------------------




//------------------------------------------------------------------------------
JAXB unmarshalling example, convert a XML file content into a customer object

//------------------------- save as CustomerXMLRead.java ------------------------

package com.ramsiscode.jaxb;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;


public class CustomerXMLRead {

public static void main(String args[]){

try {

File file = new File("D:\\customer.XML");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Customer customer = (Customer) jaxbUnmarshaller.unmarshal(file);
System.out.println(customer.getName());
System.out.println(customer.getId());
System.out.println(customer.getAge());
System.out.println(customer.getAddress());


} catch (JAXBException e) {
e.printStackTrace();
}

}

}

 



Monday 28 October 2013

Dynamically Add/Remove Rows In HTML Table Using JavaScript and Jquery




 <link href="Styles/ui-lightness/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />
    <script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery-ui-1.8.22.custom.min.js" type="text/javascript"></script>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<script> $(document).ready(function(){ function Reset() { //$("#tblpodetail").empty(); $("#rerID").hide(); $("#lblmsg").html(''); //$("#totalamt").html(''); //$("#container tr").remove(); } function valid() { var id = $('.trdelete').attr('id').split('-')[1]; //alert(id); return false; } $("#addanother").click(function(){ $("#rerID").show(); //validateForm(); var count = 0; $("#container tr").each(function () { count++; }); var str='<tr id ="tr-' + count + '" ><td align="center" height="35px">
<select class="degreeclass" name="degree-' + count + '" id="degree-' + count + '"
style="background-color:#F8FCFC; color:#284D4D;"><option>
</option><option value="10th">10th</option><option value="12th">12th</option>
<option value="B.A">B.A</option> <option value="B.SC">B.SC</option>
<option value="B.COM">B.COM</option> <option value="BBA">BBA</option>
<option value="BCA">BCA</option><option value="B.Tech">B.Tech</option>
<option value="M.A">M.A</option> <option value="M.SC">M.SC</option>
<option value="M.COM">M.COM</option> <option value="MBA">MBA</option>
<option value="MCA">MCA</option><option value="M.Tech">M.Tech</option>
</select></td><td align="center" height="35px">
<input style="background-color:#F8FCFC; color:#284D4D;" type="text"
name="year_of_passing-' + count + '" id="year_of_passing-' + count + '" size="5"/>
</td><td><center><a href="#" class="trdelete" id ="delete-' + count + '">delete</a>
</center> </td></tr>';
$("#container").append(str); }); $("#Reset").live('click', function () { $("#btnshow").show(); $("#btndelete").hide(); Reset(); return false; }); $("#submit").live('click', function () { //valid(); validateForm(); return true; }); $(".trdelete").live('click', function () { var id = $(this).attr('id').split('-')[1]; var trid = "#tr-" + id; //alert(trid); $(trid).remove(); return false; }); $("#btndelete").click(function () { if (confirm('Are you sure want to delete This.') === true) { PoDelete($("#txtpoid").val()); } else { return false; } }); $("#btnok").live('click', function () { var count = 0; var itemcode = ''; $(".item").each(function () { if (this.checked === true) { count++; itemcode = $(this).attr('id'); } }); if (count === 0) { //alert('Please select at least one item.'); $("#rerID").append('<p>Please select at least one item.</p>'); Reset(); } else { $(UniversalId).val(itemcode); if (UniversalId === '#txtpoid') { $("#txtpoid").change(); } else { $(".itemcode").change(); } $(".black_overlay").hide(); $("#div-child").hide(); } return false; }); }); </script> <script> function validateForm() { var x=document.forms["eduform"]["degree"].value; if (x==null || x=="") { document.forms["eduform"]["degree"].focus(); document.forms["eduform"]["degree"].style.borderColor='#FF778B'; document.forms["eduform"]["degree"].style.borderWidth='1px'; document.forms["eduform"]["degree"].style.borderStyle='solid'; alert("Qualification must be filled out"); $("#rerID").html('<p style="color:RED;">Qualification must be filled out.</p>'); $( "#degree" ).focus(); return false; } else{ $("#rerID").html(''); } var y=document.forms["eduform"]["year_of_passing"].value; if (y==null || y=="") { document.forms["eduform"]["year_of_passing"].focus(); document.forms["eduform"]["year_of_passing"].style.borderColor='#FF778B'; document.forms["eduform"]["year_of_passing"].style.borderWidth='1px'; document.forms["eduform"]["year_of_passing"].style.borderStyle='solid'; alert("Year Of Passing must be filled out"); $("#rerID").html('<p style="color:RED;">Year Of Passing must be filled out.</p>'); $( "#year_of_passing" ).focus(); return false; } else{ $("#rerID").html(''); } } </script>

<P align="center" style="color:#386B6B;">
<%
if
(request.getParameter("msg")!=null){out.println(request.getParameter("msg"));}
%></p>
<body>
  <div align="center">
  <div style="border:1px solid #386B6B; background-color:#d7eaea; width:800px; height:auto;">
  <div style="background-color:#d7eaea;width:800px;height:60px;padding-top:10px;font-size:35px;color:#386B6B;">Employee Education</div>
  <form action="emp_edu_action.jsp" method="post" name="eduform" id="eduform" onsubmit="return validateForm();">
    <div>
<table id="container" border="1px" cellpadding="0" style="color:#386B6B; width: 800px; border-collapse: collapse;" >
       <tr>
      <td align="center" height="35px"><strong>Qualification:</strong></td>
<td align="center"height="35px"><strong>Year Of Passing:</strong></td>
<td align="center"height="35px"><b>Operation</b></td>
</tr>
<tr><td align="center"height="35px">
<select name="degree" onClick="this.style.borderColor='#333EFF';this.style.borderStyle='solid';this.style.borderWidth='1px'" style="background-color:#F8FCFC;color:#284D4D;">
<option></option>
<option value="B.A">B.A</option>
<option value="B.SC">B.SC</option>
<option value="B.COM">B.COM</option>
<option value="BBA">BBA</option>
<option value="BCA">BCA</option>
<option value="B.Tech">B.Tech</option>
<option value="M.A">M.A</option>
<option value="M.SC">M.SC</option>
<option value="M.COM">M.COM</option>
<option value="MBA">MBA</option>
<option value="MCA">MCA</option>
<option value="M.Tech">M.Tech</option>
</select></td>           
<td align="center"height="35px"><input style="background-color:#F8FCFC; color:#284D4D;" type="text" name="year_of_passing" id="year_of_passing" size="5" onClick="this.style.borderColor='#333EFF';this.style.borderStyle='solid';this.style.borderWidth='1px'"/></td>
   <td align="center"rowspan="auto"height="35px"><input style="background-color:#9DCCCC; color:#284D4D;" type="button" id="addanother" class="addanother" value="add more" onclick="return validateForm();"></td>
</tr>
</table>
<table>
 <tr>
<td id="rerID">  </td>
 </tr>
<tr height="35px">
         <td ><input style="background-color:#9DCCCC; color:#284D4D;width:60px; height:25px;font-size:15px;"" type="submit" value="Submit" id="submit" name="submit"/>
<input style="background-color:#9DCCCC; color:#284D4D;width:60px; height:25px;font-size:15px;"" type="reset" value="Reset" id="Reset" name="Reset"/>
</td>
</tr>
</table>
  </div>
  </form>
  </div>
  </div>
</body>
</html>

Thursday 10 October 2013

How to convert and download HTML Format into ( MS_Excel, Excel , Xls) Formats in jsp


In this code i am showing you, How to convert any HTML or jsp code into ( MS_Excel, Excel , Xls) formats,
and also you can download same format in to Excel , xls. It is very usefull when you will generating a report with download feature in excel format.

 

//---------------------- Save As "GetExcel.jsp" -------------------//

<table width="60%" cellpadding="5px;" align="center" border="1" style="border-color: RED;"  class="textn">
  <tbody bgcolor="#ffdebf">
   <tr>
 <td colspan="3"><strong>Convert HTML code in to Excel format and also download it </strong></td>
   <br/>
   </tr>
  </tbody>
  </table>

<table width="60%" align="center" border="1" style="border-collapse: collapse; border-color: #df6e00;" bordercolor="#111111" class="textn">
 
  <th style="">Emp Name</th>  
 <th>Emp ID</th>
    <th>Mobile</th>
    <th>City</th>
<tr>
  <td>
      <center>Aman Kumar</center> 
</td>
<td>
      <center>1099</center> 
</td>
<td>
      <center>9918299393</center> 
</td>
<td>
      <center>Noida</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Nitin Kumar</center> 
</td>
<td>
      <center>1233</center> 
</td>
<td>
      <center>956829937</center> 
</td>
<td>
      <center>Ghaziabad</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Brijesh Bhagat</center> 
</td>
<td>
      <center>1405</center> 
</td>
<td>
      <center>9338299345</center> 
</td>
<td>
      <center>Lucknow</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Suraj Kumar</center> 
</td>
<td>
      <center>2035</center> 
</td>
<td>
      <center>9938244340</center> 
</td>
<td>
      <center>New Delhi</center> 
</td> 
  </tr>

</table>

<P align="center"><a href="DownloadExcel.jsp" style="color:Blue;">Download Excel</a></P>



//---------------------- Save As "DownloadExcel.jsp" -------------------//


 <%   
     response.setHeader("Content-Disposition","attachment;filename=Report.xls");   
     response.setContentType("application/vnd.excel");  
 %> 

<table width="60%" align="center" border="1" style="border-collapse: collapse" bordercolor="#111111" class="textn">
<tr>
  
<td colspan="3"><strong>Download Report:</strong></td>
<br/>
</tr>

</table>

<table width="60%" align="center" border="1" style="border-collapse: collapse" bordercolor="#111111" class="textn">
 
  <th style="">Emp Name</th>  
 <th>Emp ID</th>
    <th>Mobile</th>
    <th>City</th>
<tr>
  <td>
      <center>Aman Kumar</center> 
</td>
<td>
      <center>1099</center> 
</td>
<td>
      <center>9918299393</center> 
</td>
<td>
      <center>Noida</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Nitin Kumar</center> 
</td>
<td>
      <center>1233</center> 
</td>
<td>
      <center>956829937</center> 
</td>
<td>
      <center>Ghaziabad</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Brijesh Bhagat</center> 
</td>
<td>
      <center>1405</center> 
</td>
<td>
      <center>9338299345</center> 
</td>
<td>
      <center>Lucknow</center> 
</td> 
  </tr>
<tr>
  <td>
      <center>Suraj Kumar</center> 
</td>
<td>
      <center>2035</center> 
</td>
<td>
      <center>9938244340</center> 
</td>
<td>
      <center>New Delhi</center> 
</td> 
  </tr>
</table>

Tuesday 24 September 2013

How to validate username and password from database in jsp



<!-- login.jsp -->

<Body>
<form action="loginAction.jsp" method="GET" name="login" >
<table border="1" style="border-collapse:collapse;" cellpadding="5px">
  <tr>
    <td>
      <Strong>User Name:</strong>
    <input type="text" name="username" id="username" size="30" maxlength="50" />
   </td>
 </tr>
  <tr>
    <td>
      <Strong>Password:&nbsp;&nbsp;&nbsp;</strong>
    <input type="password" name="password" id="password" size="30"  maxlength="50" />
   </td>
 </tr>
  <tr>
    <td>
      <input type="submit" id="submit" name="submit"  value="Submit"></input>
    <input type="reset" id="reset" name="reset" value="Reset"></input>
   </td>
 </tr>
</table>
</form>
</Body>

// ------------------------------------------------------------------------------------------------

<!-- loginAction.jsp -->

<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page import="java.text.*"%>

<%
Statement st=null;
Connection con=null;
ResultSet rs=null;

 
   // JDBC driver name and database URL
     final String DB_URL  = "jdbc:mysql://127.0.0.1:3306/test";
//  Database credentials
      final String DB_USER = "root";
      final String DB_PASS = "public";
String user = request.getParameter("username");
String pass = request.getParameter("password");

try{
 
Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection(DB_URL,DB_USER,DB_PASS);
st = con.createStatement();

String QueryString = "select username,pass from auth where username='"+user+"' and pass = '"+pass+"'";
rs = st.executeQuery(QueryString);
if(rs.next()){
out.print("Login Successfully."); 
}
else
out.print("User Name and password are not Valid..");
}
catch (Exception e){
  out.print(e);
}
finally{
st.close();
rs.close();
con.close();
}
%>

Friday 13 September 2013

How to calculate text length of Textarea in Jquery




<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
<script type="text/javascript">
$(document).ready(function(){

var TotalLength = 50;

$("#txt-imgdisc").keyup(function(evt){
  var charCode = (evt.which) ? evt.which : event.keyCode;

var textlength = $(this).val().length;
if(textlength > TotalLength)
{
if(charCode === 8)
{
return true;
}
return false;
}
$("#spresult").text(TotalLength-textlength);

});
$("#txt-imgdisc").keydown(function(evt){
  var charCode = (evt.which) ? evt.which : event.keyCode;
var textlength = $(this).val().length;
if(textlength > TotalLength)
{
if(charCode === 8)
{
return true;
}
return false;
}
  $("#spresult").text(TotalLength-textlength);
  });
});
 </script>
<p style="color:red; font-weight:bold;">Enter Text Less then 50</p> <textarea id="txt-imgdisc" name="imgdisc" rows="5" cols="30" class="required require" maxlength="400" validate="Please enter the image discription."></textarea>
 <span id ="spresult" style="color:green; font-weight:bold;" >50</span>


Tuesday 10 September 2013

How to send MD5 encrypted password to Server in jsp

The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value.

Below this image i am showing you. How to send md5 hash Encrypted data to Server. You can also use other Hash Algorithms like ( SHA, SHA1, SHA256, SHA512 )

It is very necessary to encrypt the data. When you are sending data throw URL.


          
<script type="text/javascript">

/**
*  MD5 (Message-Digest Algorithm)
**/

function md5(string) {
  function RotateLeft(lValue, iShiftBits) {
    return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
  }

  function AddUnsigned(lX,lY) {
    var lX4,lY4,lX8,lY8,lResult;
    lX8 = (lX & 0x80000000);
    lY8 = (lY & 0x80000000);
    lX4 = (lX & 0x40000000);
    lY4 = (lY & 0x40000000);
    lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
    if (lX4 & lY4) {
      return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
    }
    if (lX4 | lY4) {
      if (lResult & 0x40000000) {
        return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
      } else {
        return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
      }
    } else {
      return (lResult ^ lX8 ^ lY8);
    }
   }

   function F(x,y,z) { return (x & y) | ((~x) & z); }
   function G(x,y,z) { return (x & z) | (y & (~z)); }
   function H(x,y,z) { return (x ^ y ^ z); }
  function I(x,y,z) { return (y ^ (x | (~z))); }
  function FF(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function GG(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function HH(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function II(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function ConvertToWordArray(string) {
    var lWordCount;
    var lMessageLength = string.length;
    var lNumberOfWords_temp1=lMessageLength + 8;
    var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
    var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
    var lWordArray=Array(lNumberOfWords-1);
    var lBytePosition = 0;
    var lByteCount = 0;
    while ( lByteCount < lMessageLength ) {
      lWordCount = (lByteCount-(lByteCount % 4))/4;
      lBytePosition = (lByteCount % 4)*8;
      lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
      lByteCount++;
    }
    lWordCount = (lByteCount-(lByteCount % 4))/4;
    lBytePosition = (lByteCount % 4)*8;
    lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
    lWordArray[lNumberOfWords-2] = lMessageLength<<3;
    lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
    return lWordArray;
  };

  function WordToHex(lValue) {
    var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
    for (lCount = 0;lCount<=3;lCount++) {
      lByte = (lValue>>>(lCount*8)) & 255;
      WordToHexValue_temp = "0" + lByte.toString(16);
      WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
    }
    return WordToHexValue;
  };

  function Utf8Encode(string) {
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {
      var c = string.charCodeAt(n);

      if (c < 128) {
        utftext += String.fromCharCode(c);
      }
      else if((c > 127) && (c < 2048)) {
        utftext += String.fromCharCode((c >> 6) | 192);
        utftext += String.fromCharCode((c & 63) | 128);
      }
      else {
        utftext += String.fromCharCode((c >> 12) | 224);
        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
        utftext += String.fromCharCode((c & 63) | 128);
      }
    }

    return utftext;
  };

  var x=Array();
  var k,AA,BB,CC,DD,a,b,c,d;
  var S11=7, S12=12, S13=17, S14=22;
  var S21=5, S22=9 , S23=14, S24=20;
  var S31=4, S32=11, S33=16, S34=23;
  var S41=6, S42=10, S43=15, S44=21;

  string = Utf8Encode(string);

  x = ConvertToWordArray(string);

  a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

  for (k=0;k<x.length;k+=16) {
    AA=a; BB=b; CC=c; DD=d;
    a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
    d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
    c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
    b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
    a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
    d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
    c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
    b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
    a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
    d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
    c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
    b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
    a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
    d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
    c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
    b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
    a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
    d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
    c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
    b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
    a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
    d=GG(d,a,b,c,x[k+10],S22,0x2441453);
    c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
    b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
    a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
    d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
    c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
    b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
    a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
    d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
    c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
    b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
    a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
    d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
    c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
    b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
    a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
    d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
    c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
    b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
    a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
    d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
    c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
    b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
    a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
    d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
    c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
    b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
    a=II(a,b,c,d,x[k+0], S41,0xF4292244);
    d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
    c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
    b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
    a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
    d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
    c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
    b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
    a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
    d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
    c=II(c,d,a,b,x[k+6], S43,0xA3014314);
    b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
    a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
    d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
    c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
    b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
    a=AddUnsigned(a,AA);
    b=AddUnsigned(b,BB);
    c=AddUnsigned(c,CC);
    d=AddUnsigned(d,DD);
  }

  var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

  return temp.toLowerCase();
}

</script>


<script language="JavaScript">
function chk()
{

if(document.login.username.value=="")
{
alert("Please Enter Login name! ");
document.login.username.focus();
return false;
}
if(document.login.password.value=="")
{
alert("Please Enter Password ! ");
document.login.password.select();
return false;
}
  // encrypts data in md5 hash
  document.login.password.value = md5(document.login.password.value); 
}
</script>

<%
String user = request.getParameter("username");
String ecryptPass = request.getParameter("password");
%>

<Body>
<form action="md5-Submit.jsp" method="GET" name="login" onsubmit="return chk();" >
<table border="1" style="border-collapse:collapse;" cellpadding="5px">
  <tr>
  <td>
   <Strong>User Name:</strong>
<input type="text" name="username" id="username" size="30" maxlength="50" />
</td>
</tr>
<tr>
  <td>
   <Strong>Password:&nbsp;&nbsp;&nbsp;</strong>
<input type="password" name="password" id="password" size="30" autocomplete="true"  maxlength="50" />
</td>
</tr>
<tr>
  <td>
   <input type="submit" id="submit" name="submit"  value="Submit"></input>
<input type="reset" id="reset" name="reset" value="Reset"></input>
</td>
</tr>
</table>
</form>
 <p>User Name is: <b><%=user%></b></p>
<p>Encrypted password: <b><%=ecryptPass%></b></p>
</Body>

MD5 Encrypt Hash in JavaScript

The MD5 Message-Digest Algorithm is a widely used cryptographic hash function that produces a 128-bit (16-byte) hash value.
The md5() function (presented in this page) can be used in JavaScript to calculate the MD5 hash of a string. Returns the hash as a 32-character hexadecimal number.



<script type="text/javascript">

/**
*  MD5 (Message-Digest Algorithm)
**/

function md5(string) {
  function RotateLeft(lValue, iShiftBits) {
    return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));
  }

  function AddUnsigned(lX,lY) {
    var lX4,lY4,lX8,lY8,lResult;
    lX8 = (lX & 0x80000000);
    lY8 = (lY & 0x80000000);
    lX4 = (lX & 0x40000000);
    lY4 = (lY & 0x40000000);
    lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);
    if (lX4 & lY4) {
      return (lResult ^ 0x80000000 ^ lX8 ^ lY8);
    }
    if (lX4 | lY4) {
      if (lResult & 0x40000000) {
        return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);
      } else {
        return (lResult ^ 0x40000000 ^ lX8 ^ lY8);
      }
    } else {
      return (lResult ^ lX8 ^ lY8);
    }
   }

   function F(x,y,z) { return (x & y) | ((~x) & z); }
   function G(x,y,z) { return (x & z) | (y & (~z)); }
   function H(x,y,z) { return (x ^ y ^ z); }
  function I(x,y,z) { return (y ^ (x | (~z))); }
 
  function FF(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function GG(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function HH(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function II(a,b,c,d,x,s,ac) {
    a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));
    return AddUnsigned(RotateLeft(a, s), b);
  };

  function ConvertToWordArray(string) {
    var lWordCount;
    var lMessageLength = string.length;
    var lNumberOfWords_temp1=lMessageLength + 8;
    var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;
    var lNumberOfWords = (lNumberOfWords_temp2+1)*16;
    var lWordArray=Array(lNumberOfWords-1);
    var lBytePosition = 0;
    var lByteCount = 0;
    while ( lByteCount < lMessageLength ) {
      lWordCount = (lByteCount-(lByteCount % 4))/4;
      lBytePosition = (lByteCount % 4)*8;
      lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));
      lByteCount++;
    }
    lWordCount = (lByteCount-(lByteCount % 4))/4;
    lBytePosition = (lByteCount % 4)*8;
    lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);
    lWordArray[lNumberOfWords-2] = lMessageLength<<3;
    lWordArray[lNumberOfWords-1] = lMessageLength>>>29;
    return lWordArray;
  };

  function WordToHex(lValue) {
    var WordToHexValue="",WordToHexValue_temp="",lByte,lCount;
    for (lCount = 0;lCount<=3;lCount++) {
      lByte = (lValue>>>(lCount*8)) & 255;
      WordToHexValue_temp = "0" + lByte.toString(16);
      WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);
    }
    return WordToHexValue;
  };

  function Utf8Encode(string) {
    string = string.replace(/\r\n/g,"\n");
    var utftext = "";

    for (var n = 0; n < string.length; n++) {
      var c = string.charCodeAt(n);

      if (c < 128) {
        utftext += String.fromCharCode(c);
      }
      else if((c > 127) && (c < 2048)) {
        utftext += String.fromCharCode((c >> 6) | 192);
        utftext += String.fromCharCode((c & 63) | 128);
      }
      else {
        utftext += String.fromCharCode((c >> 12) | 224);
        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
        utftext += String.fromCharCode((c & 63) | 128);
      }
    }

    return utftext;
  };

  var x=Array();
  var k,AA,BB,CC,DD,a,b,c,d;
  var S11=7, S12=12, S13=17, S14=22;
  var S21=5, S22=9 , S23=14, S24=20;
  var S31=4, S32=11, S33=16, S34=23;
  var S41=6, S42=10, S43=15, S44=21;

  string = Utf8Encode(string);

  x = ConvertToWordArray(string);

  a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;

  for (k=0;k<x.length;k+=16) {
    AA=a; BB=b; CC=c; DD=d;
    a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);
    d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);
    c=FF(c,d,a,b,x[k+2], S13,0x242070DB);
    b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);
    a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);
    d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);
    c=FF(c,d,a,b,x[k+6], S13,0xA8304613);
    b=FF(b,c,d,a,x[k+7], S14,0xFD469501);
    a=FF(a,b,c,d,x[k+8], S11,0x698098D8);
    d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);
    c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);
    b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);
    a=FF(a,b,c,d,x[k+12],S11,0x6B901122);
    d=FF(d,a,b,c,x[k+13],S12,0xFD987193);
    c=FF(c,d,a,b,x[k+14],S13,0xA679438E);
    b=FF(b,c,d,a,x[k+15],S14,0x49B40821);
    a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);
    d=GG(d,a,b,c,x[k+6], S22,0xC040B340);
    c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);
    b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);
    a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);
    d=GG(d,a,b,c,x[k+10],S22,0x2441453);
    c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);
    b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);
    a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);
    d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);
    c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);
    b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);
    a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);
    d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);
    c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);
    b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);
    a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);
    d=HH(d,a,b,c,x[k+8], S32,0x8771F681);
    c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);
    b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);
    a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);
    d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);
    c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);
    b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);
    a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);
    d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);
    c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);
    b=HH(b,c,d,a,x[k+6], S34,0x4881D05);
    a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);
    d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);
    c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);
    b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);
    a=II(a,b,c,d,x[k+0], S41,0xF4292244);
    d=II(d,a,b,c,x[k+7], S42,0x432AFF97);
    c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);
    b=II(b,c,d,a,x[k+5], S44,0xFC93A039);
    a=II(a,b,c,d,x[k+12],S41,0x655B59C3);
    d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);
    c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);
    b=II(b,c,d,a,x[k+1], S44,0x85845DD1);
    a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);
    d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);
    c=II(c,d,a,b,x[k+6], S43,0xA3014314);
    b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);
    a=II(a,b,c,d,x[k+4], S41,0xF7537E82);
    d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);
    c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);
    b=II(b,c,d,a,x[k+9], S44,0xEB86D391);
    a=AddUnsigned(a,AA);
    b=AddUnsigned(b,BB);
    c=AddUnsigned(c,CC);
    d=AddUnsigned(d,DD);
  }

  var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);

  return temp.toLowerCase();
}

</script>


<form action="#" method="post">
<Strong>Enter any text:</strong><br/>
 <input type="text" name="strex" id="strex" size="20" /> <button id="codemd5">MD5 Encrypt</button><br/>
 <strong>MD5 Encrypted Hash String:</Strong><br/>
 <input type="text" name="strmd5" id="strmd5" size="50" />
</form>
<script type="text/javascript">
// Here add the code of the md5() function

// register onclick events for "Get MD5" button
document.getElementById('codemd5').onclick = function() {
  var txt_string = document.getElementById('strex').value;      // gets data from input text

  // encrypts data and adds it in #strmd5 element
  document.getElementById('strmd5').value = md5(txt_string);
  return false;
}
</script>