Académique Documents
Professionnel Documents
Culture Documents
Data Security Authentication(DSA) is way to transfer the confindential file to required person in a safe and secure maner without getting into hands of hackers who are major threat in Computer technology.The aim is to provide maximum security to the confidential data.
The phenomenal growth in e-commerce applications through the Internet in the past few years has led to a genuine need, as well as a sense of urgency, for both small office and home office and corporate users to protect their data transactions through the Internet. These data transactions may include sensitive document transfer, digital signature authentication, digital watermarking for copyright protection, and digital data storage and linkage.
In this project we create a CRC file by adding the checksum value to the confidential data,then it is compressed so that it gets encrypted,the compressed file is embedded to container file along with secret key so that original features of the container file doesnt changes.the receiver cans de-embbed the data from container file only when he matches the key.then in file is decompressed to get the original data.The usage of less number of resource boost up performance and reliability of this system. This system can be implemented in many various fields like banks,security related organizations whose data is to be very confidential.
ABBREVIATIONS
CRC:Cyclic redundance check DSA:Data Security Authentication GUI:Graphical User Interface
CONTENTS
S.No
1. Organization Profile 2. Introduction 2.1 About the Project 2.2 Project Description 3. System Analysis 3.1 Existing System 3.2 Proposed System 3.3 Requirement Analysis 3.4 Requirement Specification 3.5 Feasibility Study 4. System Design 4.1 Project Modules 4.2 Data Flow Diagrams 4.3 E-R diagrams 4.4 UML Diagrams 4.5 Hardware and Software Requirements 5. Output Screens 6. Source Code 7. Software Testing 8. Technical notes 9. Conclusion References
Topic
Page no
LIST OF FIGURES
FIGURES
1.1 1.2 1.3 DFD Diagram Level-1 DFD Diagram Level-2 E-R Diagram for System
PAGE NO
PAGE NO
1. ORGANIZATION PROFILE
Adroit Infocom is a professional Web design and software development company. We supply services of web design & development, web application, Flash animation, multimedia, identity and graphic design, Website translation, internet marketing and software services. We help clients enhance their competitiveness and produce measurable results based on features delivered, value delivered and time saved. The combination of thorough process, comprehensive experience and expansive creative vision enables us to create solutions that are innovative, usable and reliable for website designing.we have proven our skill, professionalism, and creativity in all of our work. Adroit Infocom has proven expertise in encompassing low cost, but high quality and reliable web development services in areas like e-commerce, e-learning, finance, manufacturing, content management and many others. The strength of Adroit Infocom lies in its management and outstanding model of project execution that makes it possible for the timely delivery of the most complicated and advanced software and IT solutions to the clients. Supported by a talented pool of experienced software engineers from the top reputed Technical and Research Institutes in the country, Adroit Infocom offers you dedicated service at all stages of the project-right from the initial specification to the final delivery and maintenance, with a round the clock support. Adroit Infocom firmly believes in directing the clients to increase their business output through the application of the latest web tools and a careful handling of the changing dynamics of website development. Adroit Infocom delivers quality service that serves as an eye opener for the customers to conduct business more creatively and effectively. We balance project duration and product development efforts to suit your business needs.
2. INTRODUCTION
2.1 ABOUT THE PROJECT:
DSA is a graphical interface in which the user handles the transaction of compression by selecting a source file that is to be embedded. The compressed file that is obtained is of reduced size and is embedded into a container (image source etc.,) without losing the features of that container. The container can be transferred to the respective destination where the reverse of the process is performed like de-embedding the content from the container and decompressing it to generate the actual code (decompressed data). As the application is container independent various type of files are used for embedding the data into them.
3. SYSTEM ANALYSIS
System analysis first stage according to System Development life cycle model. This system analysis is a process that starts with the analyst. Analysis is a detailed study of the various operations by a system and their relationships within and outside the system. One aspect of analysis is defining the boundaries of the system and determining whether or not a candidate should consider other related systems. During analysis, data is collected from the available files, decision points, and transactions handled by the present system. Logical system models and tools are used in analysis.Training, experience, and common sense is required for the collection of the information needed to do analysis.
Can work with any container not only images. Size of data not a constraint to the size of the container. Works even with animated, audio, video or any type of container. The data hidden can also be compressed to ensure that even when present inside the container it is still unreadable. Authentication of data to verify data integrity
documents. The analysts have to uncover the real needs of the user even if they dont know them clearly. During analysis it is essential that a complete and consistent set of specifications emerge for the system. Here it is essential to resolve the contradictions that could emerge from information got from various parties. This is essential to ensure that the final specifications are consistent.
It may be divided into 5 areas of effort. 1. Problem recognition 2. Evaluation and synthesis 3. Modeling 4. Specification review Each requirement analysis method has a unique point of view. However all analysis methods are related by a set of operational principles. The operational principles are, The information domain of the problem must be understood. The functions that the software is to perform must be defined. The behavior of the software as a consequence of external events must be defined. The models that depict information function and behavior must be portioned in a hierarchical or layered fashion. The analysis process must move from essential information to implementation detail.
Diagrams and other notational forms should be restricted in number and consistent in use. Representations should be revisable.
An outline of the software requirements specification: A simplified outline can be given for the framework of the specifications. This is according to IEEE standards.
4.SYSTEM DESIGN
The most creative and challenging phase of the life cycle is system design. The term design describes a final system and the process by which it is developed. It refers to the technical specifications that will be applied in implementations of the candidate system. The design may be defined as The process of applying various techniques and principles for the purpose of defining a device, a process or a system with sufficient details to permit its physical realization. The designers goal is how the output is to be produced and in what format. Samples of the output and input are also presented. Second input data and database files have to be designed to meet the requirements of the proposed output. The processing phases are handled through the program construction and testing.Finally, details are related to justification of the system and an estimate of the impact of the candidate system on the user and the organization are documented and evaluated by management as a step toward implementation. The importance so software design can be stated in a single wordquality.design provides us with representations of software that can be assessed for quality. Design is the only way where we can accurately translate a customers requirements into a complete software product or system
described logically and independently of physical components associated with the system. These are known as the logical data flow diagrams. Each component in a DFD is labeled with a descriptive name. Process is further identified with a number that will be used for identification purpose single process bit, which plays vital role in studying the current system. A DFD is also known as a bubble Chart has the purpose of clarifying system requirements and identifying major transformations that will become programs in system design. So it is the starting point of the design to the lowest level of detail. A DFD consists of a series of bubbles joined by data flows in the system.
4.2.1 DFD SYMBOLS In the DFD, there are four symbols 1. A square defines a source(originator) or destination of system data 2. An arrow identifies data flow. It is the pipeline through which the information flows
3. A circle or a bubble represents a process that transforms incoming data flow into outgoing data flows. 4. An open rectangle is a data store, data at rest or a temporary repository of data
Data flow
Data Store
DFD LEVEL-1
Request for Login ADMINSTRATOR Authenticated DSA
DFD LEVEL-II
Confidential file
CRC-Generation
Compression
Data Key
Container file
De-Compression
CRC-Verification
Confidential file
ER Diagram
De-Embedding
De-Compression
CRC-Verification
Login
CRC-Generation
Compression
Embedding USER
System
De-Embedding
De-Compressing
CRC-Verification
5.OUTPUT SCREENS
6.SOURCE CODE
6.1 Source code for Login:
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*; class Login extends JFrame implements ActionListener { JLabel l1,l2; JTextField t1; JPasswordField t2; JButton jb1,jb2; public Login(String str) { super(str); Container con=getContentPane(); con.setLayout(null); Font f=new Font("Times New Roman",Font.BOLD,16); l1=new JLabel("UserName : "); l2=new JLabel("PassWord : "); l1.setFont(f); l2.setFont(f); t1=new JTextField(); t2=new JPasswordField();
jb1=new JButton("LOGIN"); jb2=new JButton("EXIT"); l1.setBounds(50,30,120,20); l2.setBounds(50,70,120,20); t1.setBounds(135,32,140,20); t2.setBounds(135,72,140,20); jb1.setBounds(70,110,80,20); jb2.setBounds(160,110,80,20); con.add(l1); con.add(l2); con.add(t1); con.add(t2); con.add(jb1); con.add(jb2); jb1.addActionListener(this); jb2.addActionListener(this); } public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("EXIT")) { JOptionPane.showMessageDialog(this,"Thank U for Using the Application..."); System.exit(0); } else {
String x=t1.getText().trim(); String y=t2.getText().trim(); if(x.length()!=0) { if(y.length()!=0) { try { FileInputStream f1=new FileInputStream("LoginInfo.txt"); int x1=f1.available(); String st=""; for(int i=0;i<x1;i++) st=st+(char)f1.read(); f1.close(); int c=0; StringTokenizer st1=new StringTokenizer(st,";"); while(st1.hasMoreTokens()) { String p=st1.nextToken(); String q=st1.nextToken(); if(p.equals(x) && q.equals(y)) { c++; break; } } if(c==0)
{ JOptionPane.showMessageDialog(this,"InValid UserName/PassWord are Entered..."); } else { MainForm mf=new MainForm("DSA"); int width=Toolkit.getDefaultToolkit().getScreenSize().width; int height=Toolkit.getDefaultToolkit().getScreenSize().height; mf.setSize(width,height-30); mf.setLocation(0,0); mf.setResizable(false); mf.setVisible(true); setVisible(false); } } catch(Exception e) { JOptionPane.showMessageDialog(this,"Error in Validating the UserName/PassWord"+e); } } else { JOptionPane.showMessageDialog(this,"PassWord is Not Specified..."); } } else {
public static void main(String arg[]) { Login lf=new Login("APPLICATION"); lf.setSize(330,180); lf.setLocation(300,200); lf.setResizable(false); lf.setVisible(true); } }
Font f=new Font("arial",Font.BOLD,20); jb1=new JButton("CRC GENERATION"); jb2=new JButton("COMPRESSION"); jb3=new JButton("EMBED"); jb4=new JButton("DE-EMBED"); jb5=new JButton("DE-COMPRESS"); jb6=new JButton("CRC VERIFICATION"); jb7=new JButton("EXIT"); jb1.setFont(f); jb4.setFont(f); jb7.setFont(f); jb1.setBounds(250,100,280,40); jb2.setBounds(250,200,280,40); jb3.setBounds(250,300,280,40); jb4.setBounds(800,100,280,40); jb5.setBounds(800,200,280,40); jb6.setBounds(800,300,280,40); jb7.setBounds(550,450,280,40); con.add(jb1); con.add(jb5); con.add(jb2); con.add(jb6); con.add(jb3); con.add(jb4); con.add(jb7); jb2.setFont(f); jb5.setFont(f); jb3.setFont(f); jb6.setFont(f);
jb6.addActionListener(this); jb7.addActionListener(this); setResizable(false); } public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("EXIT")) { JOptionPane.showMessageDialog(this,"Thank U for Using the Application.....!"); System.exit(0); } else if(str.equals("CRC GENERATION")) { CRCGEN c=new CRCGEN("CRC GENERATION"); c.setSize(600,300); c.setLocation(300,200); c.setVisible(true); } else if(str.equals("COMPRESSION")) { COMPRESS c=new COMPRESS("COMPRESS FILE"); c.setSize(600,300); c.setLocation(300,200); c.setVisible(true);
} else if(str.equals("EMBED")) { EMBED eb=new EMBED("EMBED FILE"); eb.setSize(600,400); eb.setLocation(200,100); eb.setVisible(true); } else if(str.equals("DE-EMBED")) { DEEMBED eb=new DEEMBED("DE-EMBED FILE"); eb.setSize(600,250); eb.setLocation(200,200); eb.setVisible(true); } else if(str.equals("DE-COMPRESS")) { DECOMPRESS dc=new DECOMPRESS("DE-COMPRESS FILE"); dc.setSize(600,300); dc.setLocation(300,200); dc.setVisible(true); } else if(str.equals("CRC VERIFICATION")) { CRCVER cv=new CRCVER("CRC VERIFICATION");
l2=new JLabel("CRC File : "); l1.setFont(f); l2.setFont(f); t1=new JTextField(); t1.setEnabled(false); t1.setFont(f); t2=new JTextField(); t2.setEnabled(false); t2.setFont(f); jb1=new JButton("Browse"); jb2=new JButton("GENERATE CRC");jb2.setEnabled(false); jb3=new JButton("CLOSE"); l1.setBounds(30,50,90,25); t1.setBounds(120,50,350,25); jb1.setBounds(475,50,100,25); l2.setBounds(30,90,90,25); t2.setBounds(120,90,350,25); jb2.setBounds(170,140,130,25); jb3.setBounds(305,140,100,25); con.add(l1); con.add(t1); con.add(jb1); con.add(l2); con.add(t2);
public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("CLOSE")) setVisible(false); else if(str.equals("Browse")) { FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD); fd.setFile("*.txt"); fd.show(); String st=fd.getDirectory()+fd.getFile(); if(!st.equals("nullnull")) { t1.setText(st);jb2.setEnabled(true); t2.setText(""); } else { t1.setText(""); t2.setText(""); } } else { if(t1.getText().trim().length()!=0)
{ try { String src=t1.getText(); String dest=src.substring(0,src.lastIndexOf('.')+1)+"crc"; StringBuffer st1=new StringBuffer(src); st1.setLength(50); FileInputStream f1=new FileInputStream(src); DataOutputStream f2=new DataOutputStream(new FileOutputStream(dest)); f2.write(st1.toString().getBytes()); CRC32 crc=new CRC32(); int x=f1.available(); for(int i=0;i<x;i++) { int b=f1.read(); f2.write(b); crc.update(b); } long sum=crc.getValue(); f2.writeLong(sum); f1.close(); f2.close(); t2.setText(dest); JOptionPane.showMessageDialog(this,"CRC File is Generated Succesfully..."); }
catch(Exception e) { JOptionPane.showMessageDialog(this,"Error in Generating the CRC File..."); } } else { JOptionPane.showMessageDialog(this,"No File is Specified to Generate CRC"); } } } }
{ super(str); Container con=getContentPane(); con.setLayout(null); Font f=new Font("Times New Roman",Font.BOLD,16); l1=new JLabel("File Name : "); l2=new JLabel("Compression File : "); l1.setFont(f); l2.setFont(f); t1=new JTextField(); t1.setEnabled(false); t1.setFont(f); t2=new JTextField(); t2.setEnabled(false); t2.setFont(f); jb1=new JButton("Browse"); jb2=new JButton("COMPRESS"); jb3=new JButton("CLOSE"); l1.setBounds(30,50,90,25); t1.setBounds(120,50,350,25); jb1.setBounds(475,50,100,25); l2.setBounds(30,90,140,25); t2.setBounds(170,90,350,25); jb2.setBounds(170,140,130,25); jb3.setBounds(305,140,100,25);
con.add(l1);
con.add(t1);
public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("CLOSE")) setVisible(false); else if(str.equals("Browse")) { FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD); fd.setFile("*.crc"); fd.show(); String st=fd.getDirectory()+fd.getFile(); if(!st.equals("nullnull")) { t1.setText(st); t2.setText(""); } else { t1.setText("");
t2.setText(""); } } else { if(t1.getText().trim().length()!=0) { try { String src=t1.getText(); String dest=src.substring(0,src.lastIndexOf('.')+1)+"cmp"; BufferedInputStream f1=new BufferedInputStream(new FileInputStream(src)); BufferedOutputStream f2=new BufferedOutputStream(new GZIPOutputStream(new FileOutputStream(dest))); int ch; long x=0; while((ch=f1.read())!=-1) { f2.write(ch); x++; } f1.close(); f2.close(); t2.setText(dest);
File f=new File(dest); long y=f.length(); long z=((x-y)*100)/x; String st="Actual Size : "+x+" Bytes\n\n"; st=st+"Compressed File Size : "+y+" Bytes\n\n"; st=st+"Compression Ration : "+z+" %"; JOptionPane.showMessageDialog(this,st); } catch(Exception e) { JOptionPane.showMessageDialog(this,"Error in compressing the File..."); } } else { JOptionPane.showMessageDialog(this,"No File is Specified to Compress"); } } } }
class EMBED extends JFrame implements ActionListener { JLabel l1,l2,l3; JTextField t1,t2,t3; JButton jb1,jb2,jb3,jb4; public EMBED(String str) { super(str); Container con=getContentPane(); con.setLayout(null); Font f=new Font("Times New Roman",Font.BOLD,20); l1=new JLabel("Container File :"); l2=new JLabel("Compressed File : "); l3=new JLabel("Data Key : "); l1.setFont(f); l2.setFont(f); l3.setFont(f);
t1=new JTextField(); t2=new JTextField(); t3=new JTextField(); t1.setEnabled(false); t2.setEnabled(false); jb1=new JButton("Browse Container"); jb2=new JButton("Browse Compressed File"); jb3=new JButton("EMBED FILE"); jb4=new JButton("CLOSE"); l1.setBounds(30,50,150,20);
l2.setBounds(30,110,180,20); l3.setBounds(30,170,120,20); t1.setBounds(30,75,350,25); t2.setBounds(30,135,350,25); t3.setBounds(30,195,120,25); jb1.setBounds(385,75,150,25); jb2.setBounds(385,135,200,25); jb3.setBounds(130,270,170,25); jb4.setBounds(310,270,130,25); jb3.setFont(f); jb4.setFont(f); con.add(l1); con.add(t3); con.add(l2); con.add(jb1); con.add(l3); con.add(jb2); con.add(t1); con.add(t2);
con.add(jb3); con.add(jb4);
jb1.addActionListener(this); jb2.addActionListener(this); jb3.addActionListener(this); jb4.addActionListener(this); } public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("CLOSE")) { setVisible(false); }
else if(str.equals("Browse Container")) { FileDialog fd=new FileDialog(this,"Open Container",FileDialog.LOAD); fd.setFile("*.jpg"); fd.show(); String st=fd.getDirectory()+fd.getFile(); if(!st.equals("nullnull")) { t1.setText(st); } else { t1.setText(""); } } else if(str.equals("Browse Compressed File")) { FileDialog fd=new FileDialog(this,"Open Container",FileDialog.LOAD); fd.setFile("*.cmp"); fd.show(); String st=fd.getDirectory()+fd.getFile(); if(!st.equals("nullnull")) { t2.setText(st); }
else { t2.setText(""); } } else if(str.equals("EMBED FILE")) { try { String c1=t1.getText(); String c2=t2.getText(); String c3=t3.getText().trim(); if(c1.length()!=0) { if(c2.length()!=0) { if(c3.length()!=0) { final int size=8; int np, fv=0; byte[] ch=new byte[size]; FileInputStream f1=new FileInputStream(c1); FileOutputStream f2=new FileOutputStream("temp"); while((np=f1.read(ch,0,size))>0) {
f2.write(ch,0,np); fv=np; } int i; for(i=1;i<=8-fv;i++) { f2.write(65); } f1.close(); f2.write(c3.getBytes(),0,8); File f4=new File(c2); StringBuffer sb=new StringBuffer(f4.getName()); sb.setLength(20); f2.write(sb.toString().getBytes(),0,20); f1=new FileInputStream(c2); int c; while((c=f1.read())!=-1) { f2.write(c); } f1.close(); f2.close(); File f=new File("temp"); File ff=new File(c1); ff.delete();
f.renameTo(ff); JOptionPane.showMessageDialog(this,"File is Embedded..."); } else { JOptionPane.showMessageDialog(this,"Data Key is Not Specified..."); } } else { JOptionPane.showMessageDialog(this,"Compressed File is Not Specifeid..."); } } else { JOptionPane.showMessageDialog(this,"Container is Not Specified..."); } } catch(Exception e) { JOptionPane.showMessageDialog(this,"Error in Embedding the File..."+e); } } } }
jb1.setFont(f);
jb2.setFont(f);
jb3.setFont(f);
l1.setBounds(30,30,150,25); l2.setBounds(70,70,120,25); t1.setBounds(170,33,300,25); t2.setBounds(170,73,100,25); jb1.setBounds(480,33,100,25); jb2.setBounds(120,130,180,25); jb3.setBounds(310,130,120,25); con.add(l1); con.add(l2); con.add(t1); con.add(t2);
con.add(jb3);
public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("CLOSE")) setVisible(false); else if(str.equals("Browse")) { FileDialog fd=new FileDialog(this,"Open File",FileDialog.LOAD); fd.setFile("*.jpg"); fd.show(); String st=fd.getDirectory()+fd.getFile();
if(!st.equals("nullnull")) { t1.setText(st); t2.setText(""); } else { t1.setText(""); t2.setText(""); } } else { try { String fname=t1.getText().trim(); String dkey=t2.getText().trim(); if(fname.length()!=0 && dkey.length()!=0) { FileInputStream f1=new FileInputStream(fname); String st1=""; int c=0; byte[] ch=new byte[8]; while((f1.read(ch,0,8))>0) {
st1=new String(ch); if(st1.equals(dkey)) { c++; break; } } if(c==0) { JOptionPane.showMessageDialog(this,"Data Key Does Not Match..."); } else { ch=new byte[50]; f1.read(ch,0,20); st1=new String(ch); FileOutputStream f2=new FileOutputStream(st1); int x=f1.available(); for(int i=0;i<x;i++) f2.write(f1.read()); f2.close(); JOptionPane.showMessageDialog(this,"File is De-Embeded Successfully..."); } f1.close(); }
public DECOMPRESS(String str) { super(str); Container con=getContentPane(); con.setLayout(null); Font f=new Font("Times New Roman",Font.BOLD,16); l1=new JLabel("File Name : "); l2=new JLabel("De-Compressed File : "); l1.setFont(f); l2.setFont(f); t1=new JTextField(); t1.setEnabled(false); t1.setFont(f); t2=new JTextField(); t2.setEnabled(false); t2.setFont(f); jb1=new JButton("Browse"); jb2=new JButton("DECOMPRESS"); jb3=new JButton("CLOSE"); l1.setBounds(30,50,90,25); t1.setBounds(120,50,350,25); jb1.setBounds(475,50,100,25); l2.setBounds(30,90,160,25); t2.setBounds(190,90,350,25);
public void actionPerformed(ActionEvent ae) { String str=ae.getActionCommand(); if(str.equals("CLOSE")) setVisible(false); else if(str.equals("Browse")) { FileDialog fd=new FileDialog(this,"Load File",FileDialog.LOAD); fd.setFile("*.cmp"); fd.show(); String st=fd.getDirectory()+fd.getFile(); if(!st.equals("nullnull")) { t1.setText(st); t2.setText(""); } else
{ t1.setText(""); t2.setText(""); } } else { if(t1.getText().trim().length()!=0) { try { String src=t1.getText(); String dest=src.substring(0,src.lastIndexOf('.')+1)+"crc"; BufferedInputStream f1=new BufferedInputStream(new GZIPInputStream(new FileInputStream(src))); BufferedOutputStream f2=new BufferedOutputStream(new FileOutputStream(dest)); int ch=0,x=0; while((ch=f1.read())!=-1) { f2.write(ch); x++; } f1.close(); f2.close(); t2.setText(dest);
File f=new File(dest); long y=f.length(); JOptionPane.showMessageDialog(this,"File DeCompression is Successfull...with size : "+y+" Bytes"); } catch(Exception e) { JOptionPane.showMessageDialog(this,"Error in decompressing the File..."+e); } } else { JOptionPane.showMessageDialog(this,"No File is Specified to De-Compress"); } } } }
JLabel l1; JTextField t1; JButton jb1,jb2,jb3; public CRCVER(String str) { super(str); Container con=getContentPane(); con.setLayout(null); l1=new JLabel("CRC File Name : "); t1=new JTextField(); t1.setEnabled(false); jb1=new JButton("Browse"); jb2=new JButton("CRC VERIFY"); jb3=new JButton("CLOSE"); l1.setBounds(30,30,100,20); t1.setBounds(125,30,300,20); jb1.setBounds(430,30,100,20); jb2.setBounds(140,80,130,20); jb3.setBounds(300,80,100,20); con.add(l1); con.add(t1); con.add(jb1); con.add(jb2); con.add(jb3);
{ String str=ae.getActionCommand(); if(str.equals("CLOSE")) setVisible(false); else if(str.equals("Browse")) { FileDialog fd=new FileDialog(this,"Open CRC File",FileDialog.LOAD); fd.setFile("*.crc"); fd.show(); str=fd.getDirectory()+fd.getFile(); if(!str.equals("nullnull")) t1.setText(str); else t1.setText(""); } else { try { String src=t1.getText().trim(); FileInputStream fis=new FileInputStream(src); DataInputStream f1=new DataInputStream(fis); int length=fis.available(); byte[] ch=new byte[50]; f1.read(ch,0,50);
CRC32 c=new CRC32(); int x; int c1=0; String dest=src.substring(0,src.lastIndexOf('.')+1)+".txt"; FileOutputStream f3=new FileOutputStream(dest); while((x=f1.read())!=-1) { f3.write(x); c1++; c.update(x); if(f1.available()<=8) break; } long y=f1.readLong(); long z=c.getValue(); f1.close(); f3.close(); if(y==z) JOptionPane.showMessageDialog(this,"File is Not Corrupted..."); else JOptionPane.showMessageDialog(this,"File is Corrupted..."); } catch(Exception e) { JOptionPane.showMessageDialog(this,e);
} } } }
7.Software Testing
7.1 Introduction:
Testing is the process of detecting errors for which the required open web application secure employment portal specifications stated. Testing performs a very critical role for quality assurance and for ensuring the reliability of software. The results of testing are used later on during the software maintenance.
The aim of testing is often used to demonstrate that a program works by showing that it has no errors. The basic purpose of testing phase is to detect the errors that may be present in the program. Hence one should not start testing with the intent of showing that a program works, but the intent should be to show that a program doesnt work. The main objective of testing is to uncover an error in systematic way with minimum effort and time.
By black box testing we derive a set of test cases that satisfy the following criteria: Test cases that reduce by a count that is greater than one The number of additional test cases that must be designed to achieve reasonable testing.
with in the larger system. When bottom level modules are tested attention turns to those on the next level that use the lower level ones they are tested individually and then linked with the previously examined lower level modules.
8.TECHNICAL NOTES
8.1 Operating System
Developer has used Microsoft Window 7 for the application development for final year project work under Windows platform,as the software is compatible with Microsoft family.
8.1.1 JAVA
Java is a powerful but lean object-oriented programming language. It has generated a lot of excitement because it makes it possible to program for Internet by creating Applets. Programs that can be embedded in web page. The context of an applet can be an animation with sound, an interactive game or a ticker tape. With constantly updated stock prices. Applets can be just little decorations to liven up web page, or they can be serious applications like Word processor or Spreadsheet. But Java is more than a programming language for writing Applets. It is being used more and more for writing standalone applications as well. It is becoming so popular that many people believe it will become standard language for both general purpose and Internet programming. There are many buzzwords associated with Java, but because of its spectacular growth in popularity, a new buzzword has appeared ubiquitous. Indeed, all indications are that it will soon be everywhere. Java builds on the strength of C++. It has taken the best features of C++ and discarded the more problematic and error prone parts. To this lean core, it has added garbage collection (automatic memory management), multithreading (the capacity for one program to do more than one thing at a time), security capabilities. This result is that Java is simple, elegant, and powerful and easy-to-use. Java is actually a platform consisting of 3 components: Java Programming Language. Java Library of Classes and Interfaces. Java Virtual Machine
9 CONCLUSION
The use of DSA for Infosecurity in various e-commerce applications through the Internet has been discussed in detail in this paper. These applications include CRC file generation and encrypting the data to binary mode object by compressing and embedding it to users interested container and then to extract the original data and special feature to verify whether the data is corrupted or not. DSA canprovide one of the safest and unrestricted information security tools in the market, and is poised to advance the pace of growth of e-commerce applications in India and beyond.