Project Report ON Image Encryption Using Blowfish Algorithm
Project Report ON Image Encryption Using Blowfish Algorithm
ON
IMAGE ENCRYPTION USING BLOWFISH ALGORITHM
SUBMITTED TO : SUBMITTED BY :
MR. ROHIT SHARMA ANUJ KUMAR SINGH
HEAD OF DEPARTMENT MANISH PRAJAPATI
COMPUTER SCIENCE & ENGG. RAVI SAROJ
SANTOSH KUMAR SAHANI
Dr. A.I.T.H
AWADHPURI, KANPUR
Dr. A. P. J. A. K. T. U LUCKNOW
2019
DECLARATION
We hereby declare that this submission is our own work and that, to
the best of our knowledge and belief, it contains no material
previously published or written by another person nor material
which to a substantial extent has been accepted for the award of any
other degree or diploma of the university or other institute of higher
learning except where due acknowledgement has been made in the
text.
NAME SIGNATURE
DATE: PLACE:
CERTIFICATE
Date Supervisor
ACKNOWLEDGEMENT
parents who are more than GOD for me and all family member for making me a
human being and for making me able to make my dream comes true.
and sense of gratitude to my guide for his brilliant and valuable guidance for
I am very much grateful to my guide “Mr. Abhishek Agnihotri Sir” for his
thankful to my guide for his guidance and the encouragement me for time to
time.
TABLE OF CONTENTS
1. Introduction 1-2
7. Testing 37-41
9. Limitation 44-44
INTRODUCTION
This website is design to provide image diffusion and encryption facilities to the existing users and
new users according to their qualification, satisfaction and experience inside and outside the country. This
website offers users encrypt and decrypt images according to their need.
Here we are using the technique in which Resolvers can obtain public keys of zones in one of
two ways. Resolvers can utilize the image to query for the public key or they can be statically
configured with the key. Regardless of the method used, problems exist with both. In the case
where keys are obtained through the image, the issue of trusting the key arises. In order to
trust the retrieved key, it must be signed and this signature must be reliable. Providing the
assurance that the signature on the key is reliable means that the public key of the signing
authority must also be obtained, be signed, and be found reliable and so on. The solution to
ending this recursive chain of events is to configure the resolver with the public key that
authenticates the signed keys below it. In other words, a trusted zone key can be used as a
starting point for verifying all keys found below it. A likely set of trusted public keys with which
a secure zone can be statically configured are those of the root zone.
The static configuration of a resolver with the public keys from many different zones has one
advantage in that the compromise of one of the zone's private key does not result in the
compromise of the keys for all the other zones. The disadvantage of statically configuring each
2
resolver with keys for many different zones is that it does not scale well. If one key for one zone
must change, then all the resolvers must be configured to reflect this change.
Project Management
Crypto system is responsible for encrypting the user’s data and provide a secure mechanism to store it in
a virtual drive. This virtual drive will be created by the system for the particular user for the very first while
using the system. This system will provide limited storage area where the data can be saved. As we can
say that, it’s a cloud storage medium where data can be accessed from any location. This system will also
enable you to synchronize your desktop or laptop while using this crypto system
For implementing security mechanism, each user’s should have a valid login id and password and the
verification of user’s account will be done through their valid email id. Upon accessing this crypto system,
users can simply drag and drop their documents from their system to their virtual hard drive where it will
take some time for encrypting the documents and process of encryption and decryption will depend upon
the size of document and their type. User friendly interface has been provided, so that users can easily
access all the provided features. It uses strong bit encryption mechanism and its virtual hard drive and
easily loaded and unloaded at any location as per the user’s choice.
Existing System:
Existing system was not able to perform the encryption procedure before saving the data to the virtual
hard disk and it was not protected by the strong bit encryption mechanism. Simple drag and drop feature
was not available under the existing system and to load these documents users were bound to use the
browse method provided by the html browser. It was not able to perform validation checkup and
3
displaying the type of data during uploading session. It was not able to create multiple virtual drive and
can create single virtual drive only under the desktop or laptop and not to other removable media.
Proposed System:
This new crypto system has been provided with all security check ups which can be performed while
encryption and decryption of documents. Its validation and verification process will be done from the
server side and display the information of various fields such as type of document loaded, its actual size,
date and time under specified virtual drive. The admin of the documents will have the authority to set
parameters for their various documents such as read, write along with advanced operations such as copy
and paste the documents to other virtual drive location. Its strong bit encryption algorithm will make
ensure that others will not able to hack or change their file attributes.
4
HARDWARE REQUIREMENT
Monitor SVGA
SOFTWARE REQUIREMENT
J2EE
Java2 (jdk1.6,1.7,1.8)
Servlet
Hibernate
PROJECT CATEGORY
JAVA
Object-Oriented Programming
Java is object-oriented programming (OOP). Java was conceived by James Gosling, Patrick
Naughton, Chris Warth, Ed Frank, and Mike Sheridan at Sun Microsystems in 1991. This language was
initially called “Oak” but was renamed “Java” in 1995. The object-oriented methodology is inseparable
from Java, and all Java programs are, to at least some extent, object-oriented. OOP is a powerful way to
approach the job of programming. Programming methodologies have changed dramatically since the
invention of the computer, primarily to accommodate the increasing complexity of programs. To support
the principles of object-oriented programming, all OOP languages, including Java, have three traits in
Encapsulation: Encapsulation is a programming mechanism that binds together code and the
data it manipulates, and that keeps both safe from outside interference and misuse. In an object-
oriented language, code and data can be bound together in such a way that a self-contained black box is
created. Within the box are all necessary data and code. When code and data are linked together in this
fashion, an object is created. In other words, an object is the device that supports encapsulation.
Polymorphism: Polymorphism (from the Greek, meaning “many forms”) is a feature that allows
one interface to be used for a general class of actions. The specific action is determined by the exact
nature of the situation. Consider a stack (which is a last-in, first-out list). You might have a program that
requires three types of stacks. One stack is used for integer values, one for floating-point values, and one
for characters. The algorithm that implements each stack is the same, even though the data being stored
differs. In a non– Object-oriented language, you would be required to create three different sets of stack
routines, with each set using different names. However, because of polymorphism, in Java you can specify
a general set of stack routines that all share the same names. More generally, the concept of
polymorphism is often expressed by the phrase “one interface, multiple methods.” This means that it is
possible to design a generic interface to a group of related activities. This helps reduce complexity by
Inheritance: Inheritance is the process by which one object can acquire the properties of another
object. This is important because it supports the concept of hierarchical classification. If you think about
it, most knowledge is made manageable by hierarchical (i.e., top-down) classifications. Without the use
of hierarchies, each object would have to explicitly define all of its characteristics. Using inheritance, an
object need only define those qualities that make it unique within its class. It can inherit its general
attributes from its parent. Thus, it is the inheritance mechanism that makes it possible for one object to
The most important characteristic of Java is that it was designed from the outset to be machine
independent. You can run Java programs unchanged on any machine and operating system combination
that supports Java. Of course, there is still the slim possibility of the odd glitch, as you are ultimately
dependent on the implementation of Java on any particular machine, but Java programs are intrinsically
more portable than programs written in other languages. An application written in Java will only require
a single set of source code statements, regardless of the number of different computer platforms on which
it is run. In any other programming language, the application will frequently require the source code to
interface is involved. Java offers substantial savings in time and resources in developing, supporting, and
maintaining major applications on several different hardware platforms and operating systems. Possibly
the next most important characteristic of Java is that it is object-oriented. The object-oriented approach
to programming is also an implicit feature of all Java programs, so we will be looking at what this implies
later in this chapter. Object-oriented programs are easier to understand and less time consuming to
maintain and extend than programs that have been written without the benefit of using objects.
Security
You are almost certainly aware, every time you download a “normal” program; you are risking a
viral infection. Prior to Java, most users did not download executable programs frequently, and those that
did, scan them for viruses prior to execution. (A malicious program might gather private information, such
as credit card numbers, bank account balances, and passwords by searching the contents of your
computer’s local file system.) Java answers these concerns by providing a firewall between a networked
application and your computer. When using a Java-compatible web browser, it is possible to safely
without fear of viral infection. The way that Java achieves this is by confining a Java program
8
to the Java execution environment and not allowing it access to other parts of the computer.
The key that allows Java to solve both the security and the portability problems just described is
that the output of a Java compiler is not executable code. Rather, it is bytecode. Bytecode is a highly
optimized set of instructions designed to be executed by the Java run-time system, which is called the
Java Virtual Machine (JVM). That is, the Java Virtual Machine is an interpreter for bytecode. Translating a
Java program into bytecode makes it much easier to run a program in a wide variety of environments. The
reason is straightforward: only the Java Virtual Machine needs to be implemented for each platform.
Java Server Pages (JSP) is a Sun Microsystems specification for combining Java with HTML to
provide dynamic content for Web pages. When you create dynamic content, JSPs are more convenient to
write than HTTP servlets because they allow you to embed Java code directly into your HTML pages, in
contrast with HTTP servlets, in which you embed HTML inside Java code. JSP is part of the Java 2 Enterprise
Edition (J2EE). JSP enables you to separate the dynamic content of a Web page from its presentation. It
caters to two different types of developers: HTML developers, who are responsible for the graphical
design of the page, and Java developers, who handle the development of software to create the dynamic
content.
Evolution of JSP
HTML produces static web-pages, but today it is necessary for most web sites to have dynamic
content. To generate the content dynamically we need something that can allow us to specify business
logic and that can generate response to the request. The data can then be formatted using HTML.
This is the situation that leads to the invention of HTML documents that is given chance of
embedding the java code for providing the dynamic nature to that document that which was later named
Servlet
Servlet is a server-side running java program that accepts HTTP protocol request and gives HTTP
response back to client running on web browser. In other word Servlet is a small program that runs on
web server. Every Servlet application must be directly or indirectly inherited from Servlet interface. To
prevent developer to implements all the 5 functions of Servlet Interface the recommended class from
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
So far, we have portrayed servlets as an alternative to other dynamic web content Technologies,
but we haven’t really explained why we think you should use them. What makes servlets a viable choice
for web development? We believe that servlets Offer a number of advantages over other approaches,
including: portability, power, Efficiency, endurance, safety, elegance, integration, extensibility, and
XML usages include how well you can organize data structuredly? When retrieved the data from
DB, we need to manage the data foe something in our application (moves across from one component-
The final conclusion on XML is that the only way to exchange information between various layers
A Java API that enables Java programs to execute Oracle statements. This allows Java programs
to interact with any Oracle-compliant database. JDBC is similar to ODBC, but is designed specifically for
Java programs, whereas ODBC is language-independent. JDBC was developed by Java Soft, a subsidiary of
Sun Microsystems.
The goal of ODBC is to make it possible to access any data from any application, regardless of
which database management system (DBMS) is handling the data. ODBC manages this by inserting a
middle layer, called a database driver, between an application and the DBMS.
HTML is a text formatting language for preparing web documents that runs on web
browser. HTML formats hyperlinks text content and renders media content. The first version of
HTML 4 was HTML 4.0, published on 18 December 1997 and revised 24 April 1998. To publish
information for global distribution, one needs a universally understood language, a kind of
publishing mother tongue that all computers may potentially understand. The publishing language
used by the World Wide Web is HTML (Hyper Text Markup Language). The correct structure for
an HTML document starts with <HTML><HEAD> (enter here what document is about)<BODY>
and ends with </BODY></HTML>. All the information you'd like to include in your Web page fits
JAVA SCRIPT
language first become in the web browser Netscape Navigator 2. Initially it was called Live Script.
However, because Java was the hot technology of the time, Netscape decided that JavaScript
sounded more exciting. JavaScript was designed to add interactivity to HTML pages JavaScript is
consists of lines of executable computer code A JavaScript is usually embedded directly into
HTML pages. JavaScript is an interpreted language (means that scripts execute without
preliminary compilation).
12
ORACLE
Oracle is the most widely used database in the world. It runs on virtually every kind of computer.
Oracle can easily be used for simple operations such as entering data and running standard reports. Oracle
is an object-relational database. A relational database is an extremely simple way of thinking about and
managing the data used in a business. It is nothing more than a collection of tables of data. The
information stored in Oracle is kept in tables. Any programming environment used to create container,
manage humane data; can be conceptualize as a database management system. Traditionally the block
of humane data being managed is called the database. Hence, in very simple terms these programming
The word "database" can be used to describe everything from a single set of data, such as a
telephone list, to a complex set of tools, such as SQL Server, and a whole lot in between. The concept of
a relational database was originally developed back in 1970 by Dr. E.F. Codd. He laid down the theory of
relational databases in his seminal paper entitled “A Relational Model of Data for Large Shared Data
Banks,” published in Communications of the ACM (Association for Computing Machinery), Vol. 13, No. 6,
June 1970.
The basic concepts of a relational database are fairly easy to understand. A relational database is
a collection of related information that has been organized into tables. Each table stores data in rows; the
data is arranged into columns. The tables are stored in database schemas, which are areas where users
may store their own tables. A user may grant permissions to other users so they can access their tables.
13
14
Has a centralized data dictionary for storage of information pertaining to data and its
manipulation.
Structured Query Language (SQL) is the standard language designed to access relational
SQL is based on the groundbreaking work of Dr. E.F. Codd, with the first implementation of SQL
being developed by IBM in the mid-1970s. IBM was conducting a research project known as System R, and
SQL was born from that project. Later, in 1979, a company then known as Relational Software Inc. (known
today as Oracle Corporation) released the first commercial version of SQL. SQL is now fully standardized
and recognized by the American National Standards Institute. SQL uses a simple syntax that is easy to
learn and use. You’ll see some simple examples of its use in this chapter. There are five types of SQL
Query statements retrieve rows stored in database tables. You write a query using the
15
Data Manipulation Language (DML) statements modify the contents of tables. There are Three
DML statements:
Data Definition Language (DDL) statements define the data structures, such as tables,
that make up a database. There are five basic types of DDL statements:
1. CREATE creates a database structure. For example, CREATE TABLE is used to create a table;
2. ALTER modifies a database structure. For example, ALTER TABLE is used to modify a table.
3. DROP removes a database structure. For example, DROP TABLE is used to remove a table.
Transaction Control (TC) statements either permanently record any changes made to
3. SAVEPOINT sets a “save point” to which you can roll back changes.
Data Control Language (DCL) statements change the permissions on database structures. There
Tomcat, developed by Apache, is a standard reference implementation for Java servlets and JSP.
It can be used standalone as a Web server or be plugged into a Web server like Apache, Netscape
Enterprise Server, or Microsoft Internet Information Server. There are many versions of Tomcat. Apache
Tomcat is an open source software implementation of the java servletand javaserver pages technologies.
The Java Servlet and Java Server Pages specifications are developed under the java community process.
Apache Tomcat is developed in an open and participatory environment and released under the Apache.
Apache Tomcat is intended to be a collaboration of the best-of-breed developers from around the world.
Before running the servlet, you need to start the Tomcat servlet engine. To start Tomcat, you have
to first set the JAVA_HOME environment variable to the JDK home directory using the following
command.
The JDK home directory is where your JDK is stored. On my computer, it is c:\Program
Files\jdk1.5.0. You may have a different directory. You can now start Tomcat using the
c:\jakarta-tomcat-8.0\bin>startup
By default, Tomcat runs on part 8080. An error occurs if this port is currently being used. You can
such as NotePad. Search for 8080 and change it to a desired port number such as 8100 in the following
context.
17
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
enableLookups="true" redirectPort="8443"
Servlets, JSPs and their supporting files are placed in the appropriate subdirectories under the
webapps directory in Tomcat. For convenience, you can create all the files under the webapps directory
into one compressed file. This file is known as the WAR (Web Application Archive) and ends with the .war
file extension. You can deploy a Web application by placing a WAR file in the webapps directory. When a
Web server begins execution, it extracts the WAR file’s contents into the appropriate webapps
subdirectories.
You can create a WAR file using a tool or the jar command. If you use NetBeans, JBuilder, or
Eclipse, a WAR file is automatically created every time you build the Web project. (e.g., you can find this
file under the dist node in a Web project). To create a WAR file for the examples in Tmocat type the
following command:
A WAR file named jportal.war is now created for all files and directories under \webapps\jportal.
You can now deploy the WAR file to a new machine. Follow the steps below to test jportal.war:
3. Start Tomcat (if it is already running, you need to shut it down first.) Tomcat automatically extracts
the contents in jportal.war into the appropriate directories. You will see a new directory named
You can set the Tomcat server to activate basic HTTP authentication. You need to specify a
security realm, which is a term that defines authorized users. There are three types of realms: Memory,
Database, and JNDI. This section introduces how to set Memory and Database realms.
19
SYSTEM ANALYSIS
improving an existing system. “System” word derived from the word Systema, which means an organized
relationship among the functioning units or components. There are various definitions of the word
System, but most of them seem to have a common idea that suggests that a system is an orderly grouping
System analysis is a software engineering task bridges the gaps between system level
requirements engineering and software design. Requirement engineering activity result in the
specification of software operational characteristic indicates software interface with other system
elements and establish constraints that software must meet. Requirement analysis allows the software
engineer to refine the allocation and build models of at, functional and behavioral domains that will be
treated developing the system “Store Management and Automation” I did lot of analysis that what are
System analysis is a detailed study of the various operations performed by a system and their
relationship within and outside the system. There are four basic elements in system analysis as following:
1. Output: First of all, we must determine what the objectives or goals are, what do we intend to achieve,
what is the purpose of our work; in other words, what is the main aim behind the system.
2. Input: Once we know the output, we can easily determine what the input should be. Sometimes, it
may happen that the required information may not be readily available in the proper form. This may
be because of the existing forms are not properly designed. If the information is vital to the system,
we should make all possible efforts to make it available. The essential elements of inputs are:
Accuracy
20
Timelines
Proper format
4. Process: Here we come to the details of how the input and files are converted into outputs. This
involves the programs and the way in which data is processed through the computer. The processing
1. Functional requirements.
2. Nonfunctional requirements.
3. Goals of implementation.
Functional Requirements
These requirements should specify the given inputs, validation condition on inputs,
operations to be performed on the input and corresponding outputs on the operations, equations or
logical operations that must be used to perform inputs to outputs. In addition, some abnormal
Nonfunctional Requirements
has to process and their sizes etc. Dynamic requirements include execution time behavior of the
system such as throughput, response time, expected time for completion of the operation,
Goals of Implementation
21
1. This software is being developed keeping in mind not only its reusability but also its future
enhancements.
We should take care that the specific database system to be used as per management
requirement
Every time when company is providing their new jobs or giving any special news, its details send
to their clients through post employee lot of paper work and time. The new customers remain unknown
This website is design to provide online jobs facilities to the existing users and new users according
to their qualification, satisfaction and experience inside and outside the country. This website offers
students to access non-degree part-time and full-time employment opportunities on and off campus. As
you look forward to life after college, your first priority should be to focus on the importance of securing
an outstanding first job. That first job, whether it lasts twelve months or forty-five years, will start you on
PRELIMINARY INVESTIGATION
The first step in the system development life cycle is the preliminary investigation to determine
the feasibility of the system. The purpose of the preliminary investigation is to evaluate project requests.
It is not a design study nor does it include the collection of details to describe the business system in all
respect. Rather, it is the collecting of information that helps committee members to evaluate the merits
of the project request and make an informed judgement about the feasibility of the proposed project.
1. Request Clarification: Many requests from student and faculty in organization are not clearly
stated. Therefore, it becomes necessary that project request must be examined and clarified
2. Request Approval: Not all the request is desirable or feasible. However those that are both feasible
and desirable should be put into schedule. After a project request is approved, its cost, priority,
3. Feasibility Study: Feasibility is the determination of whether or not a project is worth doing .The
process followed in making this determination is called a feasibility study. The objective of a feasibility
study is not to solve the problem but to acquire a sense of its scope. The goal of feasibility studies is
to evaluate alternative systems and to propose the most feasible and desirable systems for
developments. The prime focus of the feasibility study is evaluating the practicality of the proposed
SYSTEM DESIGN
INPUT/OUTPUT DESIGN
The design of an information system produces the details that clearly describe how a system will
meet the requirements identified during systems analysis. Systems analyses begin the design process by
identifying reports and other outputs system will produce. The system design also describes the data to
be input, calculated or stored. Designers select the file structure and storage device, such as magnetic
disk, magnetic tape or even paper files. There are three phase of system design as following:-
Design of Input: Inaccurate input data are the most common cause of errors in data
processing. Errors may occur due to faulty input design. Input design is the process of converting
The goal of designing input data is to make data entry easy, logical and free from errors.
The format in which data fields are entered for example the date may be of different
formats but the user might be required to enter it in only one format. So it is essential for
him to know the exact format in which he should enter data so that later on wrong results
This Project has input screens, designed using Java Server Pages (JSP) and HTML. The
forms are GUI based and are extremely user friendly. The major features of these screens are
listed below:
24
All fields have labels tags attached to them which is useful for the data entry operator
Appropriate error messages are provided when the user enters invalid data and gives it
Design of Output: Output is the most important and direct source of information to the
user. Efficient intelligent output design improves the system’s relationship with the user and
helps in decision-making. As far as the project is concerned, the outputs are only the various kinds
of views regarding existing users, their acceptance status for different applications.
Design of Files: Design of files is considered as the backbone of the candidate system. It
is the area, which will be handling more data than any other. How well and efficiently the system
is able to retrieve data, process it and put it back depends on how well the database has been
structured and organized. This section and the following subsection throw light on how the
Choice of DBMS: The relational DBMS as far as implementation models are concerned,
has the facility of adding and dropping indices dynamically as needed. Another advantage of
relational DBMS is that it provides high-level query language interfaces as well as programming
interfaces. For developing the candidate system, Oracle has been chosen as RDBMS. Besides
having all the other advantages of an RDBMS, the main things which clinched issue in it’s favor is
that it is a freeware and it’s connectivity with J2EE, which is being used as front end, is also very
easy.
25
1. User
This module keeps the records of its all users i.e. their names, their qualification, their key
This module helps the user for fusing and defusing the image. User can fuse or defuse the image
This module helps the user for encrypting and decrypting the image. User can encrypt or decrypt the
4. Chat
This module helps the one user and othe online users to interact with each other. This module
avoids the face-to-face interaction because it provides the facility of online interaction. Online
interaction means one online user asks the question to the other online users by the internet from
ER- DIAGRAM
30
SCREEN LAYOUTS
IMPLEMENTATION PLANNING
Implementation process comes after performing validation and testing. Implementation includes
all those activities that can take place to convert from old system to new. The new system may be totally
new and could replacing an existing manual or automated system, or it may be a major modification to
an existing system. In either case, proper implementation is essential to provide a reliable system to meet
organization requirements.
Training: A well designed system, if not operated and used properly could fail. A proper training to the
users is important. If not done well it could prevent the successful implementation of an information
system. We have also provided training to the system users. In this training we have given them an
introduction to computers, their input/output devices and also trained them for using the software, how
Conversion: Conversion is the process of changing from an old system to a new or modified one.
Conversion should be accomplished quickly as long delays cause frustration. There are four methods
1. Parallel Conversion: In this method, both old and new system runs in parallel. When the
new system is proven to be functioning, as it should, then the old one is stopped. It is best
2. Direct Cutover: Direct Cutover means that on a specified date, the old system is dropped
and the new one is put into use. For direct cutover to be successful extensive testing is to be
carried out beforehand. It is used in cases when some delays in processing can be tolerated.
36
3. Pilot System: In this method a working version of the system is implemented in one part
of the organization say in a department. The users in this area typically know that they are piloting
a new system and that changes can be made to improve the system. Once the required changes
are carried out and the system is complete, then it is implemented through out the organization
either all at once or phase by phase. It is best when new system involves new techniques and
the organization all at once. Only one phase of the system is implemented at a time. The File
Conversion, training or arrival of equipment may not take place all at once.
The method that we have used for conversion is the ‘Parallel Conversion’ as it is best in cases
when you are changing from a manual system to a computerized one which is our case also. This approach
is most frequently used. This is the most secure method of converting from an old system to a new or
modified one as it provides greatest security. In case of problem or errors in the new system, the old
system is there as back up. Also users are more at ease, as they do not have to make sudden changes to
TESTING
System Testing is very important issue in system development. In many Organization persons
other than those who have written it perform testing, so that the software will be more reliable. Following
tests can carry out the Testing of system: Testing is a process of executing a program with the intent of
finding an error. A successful test is one that uncovers an as yet undiscovered error.
Testing Principles
White Box Testing, sometimes called glass box testing is a test case design method that uses the
control structure of the procedural design to derive test cases. White Box Testing considers system to be
like a White box, which means that every thing about the system is known to us. The different programs
38
used in the system, Procedures used, inputs supplied and we know the outputs produced by it in advance.
Person who has developed it generally carries out White Box testing and he/she tests the system against
all odd conditions for extreme values. We tested all the modules independently. In the testing of each
module we tested all the functionality. Righ from New or Add to Exit or Close and Save all were tested. All
the if-else structures with various values supplied at various times were checked. We checked all the loops
Black Box Testing focuses on the functional requirements of the software. It uncovers a different
class of errors than white box testing methods. The end users or the ultimate user carries out Black Box
testing for whom the system is made or some one who not knows how the system is being made. Selecting
some persons of the organizations who have to operate on the system can perform this testing so that
they know what inputs to be given to the system for different options and what should we the output
generated by the system for those values. To perform this test we selected some persons from the
organization and tested the application. They then evaluated that whether the system is working properly
or not. They all found the system working according to specification. Some one who neither knows about
the work carried out by the system nor about how it is developed can even perform this test. Thus testing
of the system by this method can even be done for absurd values, which are unknowingly entered by the
user. The testing of this project is also done accordingly to these above methods so that it can fulfill the
needs, produce all desired output even in the worst possible condition and can prove to be reliable
software. We started the testing of the system right from the Alpha test to Beta test and then Black box
test. Initially it was tested for each and every input give to it and how it responds to those inputs. The
validation and checks which are masked for certain inputs like Names, Numbers, alpha numeric, floating
point numbers ,Unique Fields, Maximum Size, Values and other Special Fields and ranges is working or
not for each and every entry forms. The testing is then done for the different calculations and queries for
39
the different combinations to find the results in the outputs. By running each individual forms as our
concept.
Unit Testing
This involves the test carried out on modules/programs that make up the system. This is also
called program testing. The units in the system are the modules and the routines that are assembled and
integrated to perform a specific function. Since in this kind of testing the main focus is on testing the
correctness of logic applied, we have used the artificial data for unit testing. Artificial data are solely for
test purposes. They are to be generated to test all combinations of format and values. Using this type of
data we have tested all logic and control path through the program. Apart from it, certain other things are
also being checked like entering of invalid data. For ex, in the month of 30 days 31 should not be entered.
Integration Testing
Integration testing is the phase of software testing in which individual software modules are
combined and tested as a group. It follows unit testing and precedes system testing. Intergration testing
takes as a input, modules that have been checked out by unit testing, groups them in larger aggregates,
applies tests defined in an integration test plan to those aggregates, and delivers as its putput, the
integrated system ready for system testing. The purpose of integration testing is to verify functional,
System Testing
compilence with its specified requirements. As a rule, system testing takes, as its input, all of the
“integrated” software components that have successfully passed integration testing and also the software
40
system itself integrated with any applicable hardware system. In system testing, the entire system can be
tested as a whole against the software requirements specification (SRS). There are rules that describe the
functionality that the vendor (developer) and a customer have agreed upon. System testing tends to be
more of an investigatory testing phase, where the focus is to have a destructive attitude and test not only
the design, but also the behavior and even the believed exceptions of the customer. System testing is
indeed to test up to and beyond the bounds defined in the software requirements specification.
TEST DONE
1. Login Window
Test Result
2. Registration
41
Test Result
USER MANUAL
One of the most important aspects of any project is security mechanism. We use many securities
Password
A password is a unique string of characters that a user types in as an identification code. The
system compares the code against a stored list of authorized passwords and users. If the code is
legitimate, the system allows the user access, at whatever security level has been approved for the owner
of the password.
A password of the system is automatically kept by user and not easily traceable through at the
development time this was avoided and it was only shared with database administrator and ask to change
from time to time. All the forms and reports executables were kept on the server and shared by user to
A good virus scan program will check all the messages. If any mail will have virus this scanner will
Database Security
A database Security s very important to secure their data for security practices for protecting
Oracle database applications. These options are independent of any additional security measures at the
Database encryption
You can use database encryption to prevent unauthorized users from viewing the objects in an
application with a disk editor or other utility program. You can use encryption in conjunction with all other
User level security is the most flexible and secure method of protecting sensitive data, code, and
object design in a database application developed in Oracle. In addition, user level security is the only
form of Oracle security that allows you to establish different levels of Oracle to sensitive data and objects.
44
LIMITATION
The Current Project CRYPTOGRAPHY has as well - few limitations implicated intentionally as –
2. Although user is interacted with company but he is given not much facility to communicate
3. Login from same place for companies and administrator is a drawback in terms of legal security
of the website.
4. As mostly there area jsp pages, java beans classes are less integrated which are used to restrict
and secure the process to be directly accessed from hackers or unauthorized person encoding and
5. Owner required to have a Tomcat server support to run the application Online.
45
CONCLUSION
The project “CRYPTOGRAPHY” is generalized software and can be easily used in any
The improvement in turnover of company up to any extent will be supported by software. The
software will be able to provide its best facilities in case company starts online transactions in future. In
this project, all the activities of the organization are performed manually.
will provide efficient and cost effective solution and always have possibilities of enhancement up any
Further enhancement may include technical forum, Audio Encryption, mailing server/voice mail
References
PROF. JAVA SERVER PROGRAMMING J2EE1.3: Subrahamanyam Allamaraju, Cedric Buest-Wrox Pub.
WEBSITES REFERENCED