Professional Documents
Culture Documents
ABSTRACT
1
INTRODUCTION
The user also can decrypt the encrypted file by using the decrypt module.
Module the system user can select the encrypted file then the user should enter the
passcode. This decrypt page will redirect to the validate page. In this page the system
user should you enter the given confidential file password to download data. After
password verification the validate page will redirect to the download page in this page
the system music and download the confidential data by clicking the download
button. The another main module of the system is message module. In this message
module the system user can easily send the encrypted message to the another system
user. The another user can easily decrypt the message by using the decrypt module.
During the decryption the system user should I enter the correct email and
password to decrypt file. Because this is Android based steganography system this
steganography system validates the correct image pixels with the existing upload
image pixels. If both pixels match equally the encrypted file will automatically
decrypt by the system.
2
SYSTEM SPECIFICATION
HARDWARE SPECIFICATION
SOFTWARE SPECIFICATION
BACK-END MySQL
3
SOFTWARE FEATURES
The first beta version of the Android Software Development Kit (SDK) was
released by Google in 2007 where as the first commercial version, Android 1.0, was
released in September 2008.
On June 27, 2012, at the Google I/O conference, Google announced the next
Android version, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the
primary aim of improving the user interface, both in terms of functionality and
performance.
The source code for Android is available under free and open source software
licenses. Google publishes most of the code under the Apache License version 2.0 and
the rest, Linux kernel changes, under the GNU General Public License version 2.
ANDROID APPLICATIONS
Android applications are usually developed in the Java language using the
Android Software Development Kit.
Once developed, Android applications can be packaged easily and sold out either
through a store such as Google Play, SlideME, Opera Mobile Store, Mobango, F-
droid and the Amazon Appstore.
4
ANDROID LIBRARIES
This category encompasses those Java-based libraries that are specific to Android
development. Examples of libraries in this category include the application
framework libraries in addition to those that facilitate user interface building, graphics
drawing and database access. A summary of some key core Android libraries
available to the Android developer is as follows −
Having covered the Java-based core libraries in the Android runtime, it is now
time to turn our attention to the C/C++ based libraries contained in this layer of the
Android software stack.
5
OVERVIEW OF THE BACK-END –
MYSQL
‘MYSQL’ the most popular ‘open source’ SQL database management system is
developed, distributed and supported by ‘MYSQL ‘AB’.’MYSQL AB’ is a
commercial company, founded by the MYSQL developers that build its business by
providing services around the ‘MYSQL’ database management system.
To add, access, and process data store in a computer database, you need a
database management system such as ‘MYSQL ‘server. Since computer are very
good at handling large amount of data, database, management systems play a central
role in computing, as stand-alone utilities or as part of other application.
The ‘MYSQL’ database server is very fast, reliable and easy to use. If that is
what you are looking for, you should give it a try. ‘MYSQL’ server also has a
practical set features developed in close cooperation with users.
6
SYSTEM ANALYSIS
The system is studied to the minutest detail and analyzed. The system analyst
plays the role of the interrogator and dwells deep into the working of the present
system. The system is viewed as a whole and the input to the system are identified.
The outputs from the organizations are traced to the various processes.
3.1EXISTING SYSTEM
In this existing system the confidential mail only verified by the text
password.
Image processing based cryptography system is not implemented in the
existing project
Simple mail transfer protocol makes more errors while email sending
The system implementation cost is too high to share confidential data
Existing system application user interface is developed by using only HTML
and CSS
User interface and user experience is more complicated in the existing system.
The admin control panel is not implemented in the existing system
Report generation takes more time to view the project data in correct format
3.2PROPOSED SYSTEM
In proposed system the confidential Mail is completely verified by the serial
images
Image processing based cryptography system is implemented in the proposed
project
7
Simple mail transfer protocol errors are completely debugged
Proposed system application user interface is developed by using HTML5 and
css3 technology with bootstrap
The system implementation cost is very low to share confidential file
User interface and user experience is more user friendly in proposed system
The admin control panel is implemented in the proposed system to access all
of the modules in this project
Report generation takes less time to view the project data in correct format
8
4.1MODULE DESCRIPTION
USER
The user module is used to manage the user details. This module is also
containing the user registration and login form. This module is used to validate the
user email and password before login. In this module the user can update the
username and the password.
ENCRYPTION
Encryption is one of the main module of the system. In this module the system
user can encrypt the confidential data file using the image. The user should enter the
filename, select the confidential file, select the image and type the password before
encryption. During the encryption the system will generate the passcode to the user.
FOLDER
The folder module is used to manage and store the encrypted data file. In this
module the system user can view the all kind of encrypted data file and also can delete
the unwanted encrypted data file by using the delete option.
DECRYPTION
The decryption is also one of the important and main module of the system. In
this module the system user can decrypt the confidential data file. During the
decryption process the user should select the encrypted file before decryption. After
that the user should enter the system generated passcode and select the image file for
the decryption. The decryption module validates the passcode and the image. If
passcode and image is match the decryption file will redirect to the validate form. In
this form the user should enter the given password for decrypt data file. After
password authentication the file will decrypt and download page will open. The user
can download the confidential data file by clicking the download button.
MESSAGE
The message module is used to send the encrypted data file to another system
user. This is featured module of the system. Because the system user can share the
encrypted data file through the same system. This feature is easily used to access the
another user encrypted data file.
REPORT
Report module is used to generate the various kind of reports. The user can
generate the encrypted file and message report by using this report module.
9
4.2ER DIAGRAM
Boxes are commonly used to represent entities. Diamonds are normally used
to represent relationships and ovals are used to represent attributes.
Entities
Relationships
Attributes
10
UID
FID
Name
USER Name
Email
1
File
Password 1
Add FILES
Image
1
Password
Passcode
Send
1
COMPOSE Date
CID
UID STATUS
FID
11
4.3DATA FLOW DIAGRAM
12
DFD LEVEL 0
Request
Login Intelligent
User Image
User
Processing
Response
13
DFD LEVEL 1
Request
Response
Request
Response
Response
Request
Folder Folder
Response
Request
Decrypt
Decryption Table
Response
Request
Message Message
Table
Response
Report
14
4.4 DATABASE DESIGN
Table design is the process of the producing a detailed data model of a
database. This logical data model contains all the needed logical and physical design
choices and physical storage parameters needed to generate a design in a data
definition language, which can then be used to create a database fully attributed data
model contains detailed attributes for each.
The term database design can be used to describe many different parts
of the design of an overall database system. Principally, and most correctly, it can be
thought of as the logical design of the vase data structure used to store the data. In the
relation model these are the table and views. In an object database the entities and
relationship map directly to object classes and named relationships.
15
TABLE NAME: FILES
16
4.5 INPUT DESIGN
17
4.6 OUTPUT DESIGN
Output design generally refers to the results and information that are
generated by the system for many end-users; it should be understandable with the
enhanced format.
When designing output, system analysis accomplishes more things like, to
determine what applications, websites or documents whether blocked or allowed.
Allowing should be in various options. The output is designed in such a way that it is
attractive, convenient and informative. Forms are designed in VB.NET with various
features, which make the console output more pleasing. As the outputs are the most
important sources of information to the users, better design should improve the
system’s relationships with others and also will help in decision-making.
18
5.SYSTEM TESTING AND IMPLEMENTATION
System testing of software or hardware is testing conducted on a complete,
integrated system to evaluate the system’s compliance with its specified requirements.
System testing falls within the scope of black box testing. System testing is performed
on the entire system in the context of functional requirements specification. System
tests not only the design but also the behaviour and even the believed expectations of
the customer.
My project has undergone the following testing procedures to ensure its correctness.
1. UNIT TESTING
2. VALIDATION TESTING
3. OUTPUT TESTING
4. INTEGRATION TESTING
UNIT TESTING
Unit tests perform basic test at component level and test a specific business
process, application, and /or system configuration. Unit tests ensure that each path of
a business process performs accurately to the documented specifications, functionality
and contains clearly defined inputs and expected results.
VALIDATION TESTING
Validation succeeds when the developed system functions as per the
requirement of the customer. Application validation is achieved through a series of
black box that demonstrate the conformity with the requirements. Deviations or errors
in this steps are corrected.
OUTPUT TESTING
Various outputs has been generated by the system. The system generated
output and the desk-calculated values have been compared. All the output is perfect as
the company desires. It begins with the low volumes of transactions based on live
tone. The volume is increased until the maximum level for each transaction type is
reached. The total system is also tested for recovery and fall back, after various major
failures to ensure that no data are lost during the emergency time.
INTEGRATION TESTING
Integration tests are done to test integrated application components were
individually satisfactory, as shown by successful unit testing; the combination of
components is correct and consistent.
19
SYSTEM IMPLEMENTATION
System implementation is the stage of the project when the theoretical design
is turned into a working system. If the implementation stage is not correctly planned
and controlled, it can be choice. The following are the main stages in the
implementation:
Planning
Training
Maintenance
PLANNING
Planning plays an important role in the implementation. The planning should
face any practical problems of controlling various activities of people out their own
data processing department.
TRAINING
Successful implementation needs trained computer staff. So some staff can
teach them about the computer implementation, which only then becomes a well-
designed system.
MAINTENANCE
Maintenance involves recovery on crash such as the backups and the end user
should be given only executable format of the system.
When the initial design was done to the system, the client was consulted for
the acceptance of the design so that further proceedings of the system development
can be carried on. After the development of the system a demonstration was given to
them about the working of the system. The aim of the system illustration was to
identify any malfunction of the system.
After the management of the system was approved the system implemented in
the concern, initially, the system was run parallel with the existing manual system.
The system has been tested with live data and has proved to be error free and user
friendly.
Implementation is the process of converting a new or revised system design
into an operational one when the initial design was done by the system; a
demonstration was given to the end user on the working system.
20
This process uses to verify and identify any logical mess working of the
system by feeding various combinations of test data. After the approval of the system
by both end users and management the system was implemented.
Coding
Testing
Once the coding process is beginning and proceed in parallel, as each program
module can be tested.
Installation
Installation is the process during which the current system is replaced by the
new system. This includes conversion of existing data, software, and documentation
and work procedures to those consistent with the new system.
Documentation
It results from the installation process, user guides provides the information on
how they use the system and its flow.
21
6. SCOPE FOR FUTURE ENHANCEMENT
Every application has its own merits and demerits. The project has covered
almost all the requirements. Further requirements and improvements can easily be done
since the coding is mainly structured or modular in nature. Improvements can be
appended by changing the existing modules or adding new modules. One important
development that can be added to the project in the future is billing details between two
dates.
22
7. CONCLUSION
The software is tested with all possible samples of data and performance of the
system proves to be much more efficient, accurate and user friendly. The software is
more interactive, user friendly and menu driven. Hence the user can easily navigate
through the system. The end-user can access to the at least knowledge of computers
and they find it easy to key in data and understand the error message.
This system is flexible and modification if any can do done without much
difficulty. The software is more attractive and interactive. This system tries maximum
to avoid typing by the user, for most of the entities.
23
BIBLIOGRAPHY
REFERENCE BOOK
REFERENCE WEBSITE
http://www.tutorialspoint.com/android/
http://developer.android.com/training/index.html
http://www.javatpoint.com/android-tutorial
24
APPENDICES
A.SCREEN SHOTS
25
26
27
28
29
30
31
B.SAMPLE CODING
Sample Code
public class EncryModel {
private int id;
private String file;
private String name;
// constructor
public EncryModel(int id, String name, String file) {
this.id = id;
this.file = validate(file);
this.name = name;
}
// validate the Password, and reformat is necessary
private String validate(String password) {
32
// creating StringBuilder for both the cases
StringBuilder case1 = new StringBuilder("+91");
StringBuilder case2 = new StringBuilder("");
// check if the string already has a "+"
if (password.charAt(0) != '+') {
for (int i = 0; i < password.length(); i++) {
// remove any spaces or "-"
if (password.charAt(i) != '-' && password.charAt(i) != ' ') {
case1.append(password.charAt(i));
}
}
return case1.toString();
} else {
for (int i = 0; i < password.length(); i++) {
// remove any spaces or "-"
if (password.charAt(i) != '-' || password.charAt(i) != ' ') {
case2.append(password.charAt(i));
}
}
return case2.toString();
}
}
public String getFile() {
return file;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
33
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
public class DbHelper extends SQLiteOpenHelper {
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "compose";
// Country table name
private static final String TABLE_NAME= "encryption";
// Country Table Columns names
private static final String KEY_ID = "id";
private static final String NAME = "Name";
private static final String FILE = "File";
@Override
public void onCreate(SQLiteDatabase db) {
34
public List<EncryModel> getAllEncryption(){
List<EncryModel> list=new ArrayList<>();
String query="SELECT * FROM "+TABLE_NAME;
SQLiteDatabase db=this.getReadableDatabase();
Cursor c=db.rawQuery(query,null);
if(c.moveToFirst()) {
do {
list.add(new
EncryModel(c.getInt(0),c.getString(1),c.getString(2)));
} while (c.moveToNext());
}
return list;
}
// get the count of data, this will allow user
// to not add more that five encryption in database
public int count(){
int count=0;
String query="SELECT COUNT(*) FROM "+TABLE_NAME;
SQLiteDatabase db = this.getReadableDatabase();
Cursor c=db.rawQuery(query,null);
if(c.getCount()>0){
c.moveToFirst();
count=c.getInt(0);
}
c.close();
return count;
}
// Deleting single country
public void deleteCompose(EncryModel compose) {
SQLiteDatabase db = this.getWritableDatabase();
int i=db.delete(TABLE_NAME,KEY_ID + " = ?",
new String[] { String.valueOf(compose.getId()) });
db.close();
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linear"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dp">
<androidx.cardview.widget.CardView
android:id="@+id/cardview"
android:layout_width="match_parent"
android:layout_height="wrap_content">
35
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/tvName"
style="@style/TextAppearance.AppCompat.Medium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Name"
android:textColor="@color/design_default_color_secondary" />
<TextView
android:id="@+id/tvPassword"
style="@style/TextAppearance.AppCompat.Large"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password"
android:textColor="@color/design_default_color_secondary_variant"
android:textStyle="bold" />
</LinearLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
36