Code
Code
package databaseconnection;
import java.sql.*;
try
{
Class.forName("com.mysql.jdbc.Driver");
co =
DriverManager.getConnection("jdbc:mysql://localhost:3306/securedata","root","root")
;
}
catch(Exception e)
{
System.out.println("Database Error"+e);
}
return co;
}
Decryption
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package action;
/**
*
* @author java2
*/
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.util.Scanner;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.swing.JOptionPane;
import sun.misc.BASE64Decoder;
import sun.misc.BASE64Encoder;
// System.out.println("ciper text:"+byteCipherText);
aesCipher.init(Cipher.DECRYPT_MODE, sec,
aesCipher.getParameters());//initiating ciper decryption
Download
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package action;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author java2
*/
public class download extends HttpServlet {
String part1_name="";
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException, SQLException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
String[] filedetails = request.getQueryString().split(",");
String filename = null, dkey = null;
InputStream is = null;
FileInputStream fis = null;
Connection con = Dbconnection.getConnection();
Statement st = con.createStatement();
ResultSet rt = st.executeQuery("select * from request where filename='"
+ filedetails[0] + "' AND owner='" + filedetails[1] + "'");
if (rt.next()) {
filename = rt.getString("filename");
dkey = rt.getString("dkey1");
//is = (InputStream) rt.getAsciiStream("data");
} else {
out.println("error while retreiving data");
}
setName(filename+".part0");
InputStream in = new FileInputStream("C:\\Users\\admin\\Desktop\\
down\\"+filename+".part0");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String temp = null;
StringBuffer sb = new StringBuffer();
while ((temp = br.readLine()) != null) {
sb.append(temp + "\n");
}
//String content = new decryption().decrypt(sb.toString(), skey);
response.setHeader("Content-Disposition", "attachment;filename=\"" +
filename + "\"");
out.write(sb.toString());
}
}
part1_name = Part_name;
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
processRequest(request, response);
} catch (SQLException ex) {
Logger.getLogger(download.class.getName()).log(Level.SEVERE, null, ex);
}
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
return part1_name;
}
}
encrypt1
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package action;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.io.BufferedReader;
import java.io.File;
import action.Ftpcon;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileItemFactory;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
*
* @author java2
*/
public class encrypt1 extends HttpServlet {
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
* methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
Connection con;
PreparedStatement pstm = null;
PreparedStatement pstm1 = null;
PreparedStatement pstm2 = null;
String filename = "";
String owner = request.getParameter("owner");
try {
boolean isMultipartContent =
ServletFileUpload.isMultipartContent(request);
if (!isMultipartContent) {
return;
}
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
try {
List<FileItem> fields = upload.parseRequest(request);
Iterator<FileItem> it = fields.iterator();
if (!it.hasNext()) {
return;
}
while (it.hasNext()) {
FileItem fileItem = it.next();
if (fileItem.getFieldName().equals("privatekey")) {
privatekey = fileItem.getString();
System.out.println("File Name" + privatekey);
if (fileItem.getFieldName().equals("policy")) {
policy = fileItem.getString();
System.out.println("File Name" + policy);
if (fileItem.getFieldName().equals("role")) {
role = fileItem.getString();
System.out.println("File Name" + role);
if (fileItem.getFieldName().equals("exp")) {
exp = fileItem.getString();
System.out.println("File Name" + exp);
if (fileItem.getFieldName().equals("department"))
{
department = fileItem.getString();
System.out.println("File Name" + department);
if
(fileItem.getFieldName().equals("securitylevel")) {
securitylevel = fileItem.getString();
System.out.println("File Name" + securitylevel);
if (fileItem.getFieldName().equals("filename")) {
filename = fileItem.getString();
System.out.println("File Name" + filename);
}
if (fileItem.getFieldName().equals("owner")) {
owner = fileItem.getString();
System.out.println("File Keyword" + owner);
}
if(fileItem.getFieldName().equals("modify")) {
str =
getStringFromInputStream(fileItem.getInputStream());
System.out.println("datazzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
+ str);
}
try {
con = Dbconnection.getConnection();
pstm = con.prepareStatement("insert into upload
(filename, data, owner,privatekey,skey)values(?,?,?,?,?)");
pstm1 = con.prepareStatement("insert into cloudadata
(filename,newfilename, owner,privatekey,dkey)values(?,?,?,?,?)");
pstm2 = con.prepareStatement("insert into cloudbdata
(filename,newfilename, owner,privatekey,dkey)values(?,?,?,?,?)");
// String str =
getStringFromInputStream(fileItem.getInputStream());
//secretkey generating
// KeyGenerator keyGen = KeyGenerator.getInstance("AES");
// keyGen.init(128);
// SecretKey secretKey = keyGen.generateKey();
// System.out.println("secret key:" + secretKey);
//converting secretkey to String
//byte[] be = secretKey.getEncoded();//encoding
secretkey
// String skey = Base64.encode(be);
// System.out.println("converted secretkey to
string:" + skey);
byte[] bs = Base64.decode(privatekey);
SecretKey sec = new SecretKeySpec(bs, "AES");
pstm.setString(2, cipher);
// pstm.setString(6, name);
pstm.setString(3, owner);
pstm.setString(4, privatekey);
pstm.setString(5, skey1);
/*Cloud Start*/
File f = new File("C:\\Users\\admin\\Desktop\\
upoladfiles\\"+filename);
FileWriter fw = new FileWriter(f);
fw.write(cipher);
fw.close();
if (nChunks==1){
int i = pstm.executeUpdate();
if (i == 1) {
response.sendRedirect("upload.jsp?
msg=success");
} else {
response.sendRedirect("upload.jsp?m1=failed");
}
con.close();
} catch (Exception e) {
out.println(e.toString());
}
} catch (FileUploadException e) {
} catch (Exception ex) {
Logger.getLogger(encrypt1.class.getName()).log(Level.SEVERE,
null, ex);
}
} finally {
out.close();
}
}
/**
* Handles the HTTP <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Handles the HTTP <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
Encryption
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package action;
import com.sun.org.apache.xerces.internal.impl.dv.util.Base64;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.util.Scanner;
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import javax.swing.JOptionPane;
import sun.misc.BASE64Encoder;
} catch (Exception e) {
System.out.println(e);
}
return cipherText;
}
Ftpcon
package action;
import java.io.File;
import java.io.FileInputStream;
import org.apache.commons.net.ftp.FTPClient;
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
*
* @author java2
*/
public class Ftpcon {
} catch (Exception e) {
System.out.println(e);
}
if (status) {
System.out.println("success");
return true;
} else {
System.out.println("failed");
return false;
}
}
public boolean upload1(File file,String filename) {
try {
client.connect("ftp.drivehq.com");
client.login("Rajakishan", "Raju123");
client.enterLocalPassiveMode();
fis = new FileInputStream(file);
status = client.storeFile("/c/" + filename, fis);
client.logout();
fis.close();
} catch (Exception e) {
System.out.println(e);
}
if (status) {
System.out.println("success");
return true;
} else {
System.out.println("failed");
return false;
}
}
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package action;
import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.Authenticator;
/**
*
* @author java2
*/
public class Mail {
Transport.send(message);
System.out.println("Done");
return true;
} catch (MessagingException e) {
System.out.println(e);
e.printStackTrace();
return false;
// throw new RuntimeException(e);
}
}