Skip to main content

Encrypt & Decrypted the Request & Responses

 

Jsp Page:index.jsp

<%-- 
    Document   : index
    Created on : Feb 28, 2012, 3:32:07 PM
    Author     : dell_pc
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1>Access Servlet by servlet's Name!</h1>
        <a href="infoServlet">infoServlet</a><br>
        <a href="CountServlet">CountServlet</a><br>
        <a href="dateTimeServlet">dateTimeServlet</a><br>
        <a href="CookieServlet">CookieServlet</a><br>
        <a href="SessionTrackerServlet">SessionTrackerServlet</a><br>
        <a href="enumerationServlet">enumerationServlet</a><br>
        <a href="IteratorServlet">IteratorServlet</a><br>
        <a href="FibonacciServlet">FibonacciServlet</a><br>
        <a href="sendRedirectServlet">sendRedirectServlet</a><br>
        <a href="encryptDataServlet">encryptDataServlet</a><br>
        <a href="ToDoServlet">ToDoServlet</a><br>
        <a href="sessionBindingServlet">sessionBindingServlet</a>
        </body>
</html>

Servlet:encryptDataServlet.java

package servlet;
import java.io.*;
import java.util.logging.*;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import java.security.*;
import javax.crypto.*;
/**
 *
 * @author dell_pc
 */
public class encryptDataServlet extends HttpServlet {
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            /* TODO output your page here */
            out.println("<html>");
            out.println("<head>");
            out.println("<title>" + getServletInfo() + "</title>");
            out.println("</head>");
            out.println("<body>");
            out.println("<h1>Servlet encryptDataServlet at " + request.getContextPath() + "</h1>");
            out.println("<form action=\"encryptDataServlet\" method=\"POST\">");
            out.println("Enter Message: <textarea name=\"data\" rows=\"2\" cols=\"25\"></textarea>");
            out.println("<input type=\"submit\" value=\"Encrypt Data\" />");
            out.println("<input type=\"reset\" value=\"Reset\" />");
            out.println("</form>");
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String data = request.getParameter("data");
        try {
            if (!data.equals("")) {
                //Invoke method
                processHeader(out);
                processBody(out, data);
                processFooter(out);
            } else {
                out.println("Don't leave any text empty");
                out.println("<BR><a href=\"encryptDataServlet\">Return to Home Page</a>");
            }
        } finally {
            //free resource
            out.flush();
            out.close();
        }
    }
    @Override
    public String getServletInfo() {
        return "encryptDataServlet";
    }
    // method haldel Form header
    protected void processHeader(PrintWriter out) throws ServletException, IOException {
        out.println("<html>");
        out.println("<head>");
        out.println("<title>" + getServletInfo() + "</title>");
        out.println("</head>");
        out.println("<body>");
        out.println("<h1> Encrypt & Decrypted Data</h1>");
    }
    // method handel Form Body
    protected void processBody(PrintWriter out, String data) throws ServletException, IOException {
        try {
            // Generate encryption keys with a KeyGenerator object
            KeyGenerator keygenerator = KeyGenerator.getInstance("DESede");  // Triple-DES encryption
            SecretKey secretkey = keygenerator.generateKey();                // Generate a key
            // Obtain an object to perform encryption or decryption
            Cipher cipher = Cipher.getInstance("DESede");
            // Initialize the cipher object for encryption
            cipher.init(Cipher.ENCRYPT_MODE, secretkey);
            // Convert data into byte and encrypt it
            byte[] encrypted = cipher.doFinal(data.getBytes());
            // Initialize the cipher object for deEncryption
            cipher.init(Cipher.DECRYPT_MODE, secretkey);
            byte[] decrypted = cipher.doFinal(encrypted);
            // Print output data over browser
            out.println("<BR>Encrypted text : " + new String(encrypted));
            out.println("<BR>Decrypted text : " + new String(decrypted));
        } catch (IllegalBlockSizeException ex) {
            Logger.getLogger(encryptDataServlet.class.getName()).log(Level.SEVERE, "IllegalBlockSizeException Generate", ex);
        } catch (BadPaddingException ex) {
            Logger.getLogger(encryptDataServlet.class.getName()).log(Level.SEVERE, "BadPaddingException Generate", ex);
        } catch (InvalidKeyException ex) {
            Logger.getLogger(encryptDataServlet.class.getName()).log(Level.SEVERE, "InvalidKeyException Generate", ex);
        } catch (NoSuchPaddingException ex) {
            Logger.getLogger(encryptDataServlet.class.getName()).log(Level.SEVERE, "NoSuchPaddingException Generate", ex);
        } catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(encryptDataServlet.class.getName()).log(Level.SEVERE, "NoSuchAlgorithmException Generate", ex);
        }
    }
    // method handel form footer
    protected void processFooter(PrintWriter out) throws ServletException, IOException {
        out.println("</body>");
        out.println("</head>");
        out.println("<BR><a href=\"encryptDataServlet\">Return to Home Page</a>");
    }
}

Output:


Jsp


servletoutput


servletoutputED


Technorati Tags:

Comments

Popular posts from this blog

WAP to calculate the monthly telephone bills as per the following rule: Minimum Rs. 200 for upto 100 calls. Plus Rs. 0.60 per call for next 50 calls. Plus Rs. 0.50 per call for next 50 calls. Plus Rs. 0.40 per call for any call beyond 200 calls.

  #include<iostream.h> #include<conio.h> void main() { int calls; float bill; cout<<" Enter number of calls : "; cin>>calls; if (calls<=100) bill=200; else if (calls>100 && calls<=150) { calls=calls-100; bill=200+(0.60*calls); } else if (calls>150 && calls<=200) { calls=calls-150; bill=200+(0.60*50)+(0.50*calls); } else { calls=calls-200; bill=200+(0.60*50)+(0.50*50)+(0.40*calls); } cout<<" Your bill is Rs. "<<bill; getch(); }   Output: Enter number of calls : 190 Your bill is Rs.250

Write a program to calculate the total expenses. Quantity and price per item are input by the user and discount of 10% is offered if the expense is more than 7000.

  #include<iostream.h> #include<conio.h> void main() { int totalexp, qty, price, discount; cout<<" Enter quantity: "; cin>>qty; cout<<" Enter price: "; cin>>price; totalexp=qty*price; if (totalexp>7000) { discount=(totalexp*0.1); totalexp=totalexp-discount; } cout<<" Total Expense is Rs. "<<totalexp; getch(); }