0% found this document useful (0 votes)
22 views59 pages

Secure Password Entry System

This document discusses a proposed system called Reliability Shuffling Keypad and Robust Authentication that aims to increase password security. It does this by randomly reshuffling the keypad layout after each key press, making it difficult for observers to guess passwords based on finger movements. The document provides an analysis of existing password systems and their vulnerabilities, as well as specifications for hardware, software, and frameworks needed to implement the proposed system using ASP.NET MVC and SQL Server.

Uploaded by

ANDRU PRADHEEP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views59 pages

Secure Password Entry System

This document discusses a proposed system called Reliability Shuffling Keypad and Robust Authentication that aims to increase password security. It does this by randomly reshuffling the keypad layout after each key press, making it difficult for observers to guess passwords based on finger movements. The document provides an analysis of existing password systems and their vulnerabilities, as well as specifications for hardware, software, and frameworks needed to implement the proposed system using ASP.NET MVC and SQL Server.

Uploaded by

ANDRU PRADHEEP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1.

INTRODUCTION

A password is a secret phase created by the user that is used to verify


his/her identity or generate cryptographic keys. A key is nothing but a data that is
used to lock and unlock cryptographic functions such as encryption, authentication,
and authorization. In this era, the protection of data is being lost and passwords are
being frequently attacked by the attackers which involves exploiting a broken
authorization vulnerability.With the help of automatic password attack tools which
speeds up the guessing and cracking of passwords by using various techniques to
access and expose the credentials of a legitimate user, assuming their identity and
privileges. Most of the password attacks are by guessing. The way of guessing a
password almost depends on the finger movements of a person. The persons who are
nearby can easily notice the finger movements of a pass wording person and exploit
it in a wrong manner. To prevent this type of misuses,thisapplication Reliability
Shuffling Keypad and Robust Authentication, which is an accommodative system, it
reshuffles the keypad and helps in a protective form. This application shuffles the
keypad randomly after each pressing of a key. Which a grateful application that only
a person can know his password. Also, the benefit of this application is that the last
used password will not be accepted. This way of shuffling helps to avoid the
passwords from being guessed by the neighbor hoods, also prevents from misdeeds.

1
2. SYSTEM ANALYSIS

2.1 EXISTING SYSTEM


In the current scenario a virtual keyboard is displayed on the screen asking
user to enter his / her username and password. Though this approach is safe and
protects his / her credentials from key loggers, but Shoulder Surfing is the common
attack at public places specially and these attacks are increasing day to day. The
Person be hide us can easily guess our password or pin based on our finger movement
over the keypad.
DISADVANTAGES
 It is time consuming while creating password. Usually while creation a
password if we use common words there will be more problems and certain
restrictions in using the characters.
 It lacks data security because the hackers by knowing our common details will
try to enter an abuse our passwords for unethical purposes.
 After the data has been breached knowingly or unknowingly due to it has a
huge consequence in the economy.

2.2 PROPOSED SYSTEM


To solve the inconveniences as mentioned in the existing system, the
proposed system provides to increase the security level with the reliability shuffling
Keypad means the user once enter the pin on keypad then the keypad layout gets
shuffled. So, for each click or key press the keyboard layout get various randomly.
ADVANTAGES
1. The system is user-friendly and has simple interface and any suspicion or
doubt the password could be easily changed. This service could be availed
anytime, anywhere, and anytime.
2. Provides strong security against bot attacks or hackers when done would keep
them confused because the dashboard created is like the original one and mis
guide the hackers from hacking.
3. Protects systems vulnerable to attacks because the time taken by the hacker
will divert them and confuse them and ultimately eliminate the vulnerable
attacks.

2
3. SYSTEM SPECIFICATION

3.1 HARDWARE REQUIREMENTS


Processor : Intel i5

RAM : 8 GB

Hard Disk : 1 TB

3.2 SOFTWARE REQUIREMENTS


OperatingSystem : Windows 10,

11Front end :HTML,BOOSTRAP,CSS

Scripting language : Java Script

Back end : SQL SERVER 2012

Framework : ASP.NET MVC

3
4. SOFTWARE DESCRIPTION

4.1 INTRODUCTION TO DOTNET


.NET is a software framework that is designed and developed by
Microsoft. The first version of the .Net framework was 1.0 which came in the year
2002. In easy words, it is a virtual machine for compiling and executing programs
written in different languages like C#, VB.Net, etc. It is used to develop Form-based
applications, Web-based applications, and Web services. There is a variety of
programming languages available on the .Net platform, VB.Net and C# being the
most common ones. It is used to build applications for Windows, phones, web, etc. It
provides a lot of functionalities and supports industry standards. .NET Framework
supports more than 60 programming languages of which 11 programming languages
are designed and developed by Microsoft. The remaining Non-Microsoft Languages
are supported by .NET Framework but not designed and developed by Microsoft.

4.2 ASP.NET MVC FRAMEWORK


ASP.NET is a web application framework designed and developed by
Microsoft. ASP.NET is open source and a subset of the .NET Framework and
successor of the classic ASP (Active Server Pages). With version 1.0 of the .NET
Framework, it was first released in January 2002. So, a question comes to mind that
which technology we were using before the year 2002 for developing web
applications and services? Answer is Classic ASP. So before .NET and ASP.NET
there was Classic ASP.ASP.NET is built on the CLR (Common Language Runtime)
which allows the programmers to execute its code using any .NET language (C#, VB
etc.). It is specially designed to work with HTTP and for web developers to create
dynamic web pages, web applications, web sites, and web services as it provides a
good integration of HTML, CSS, and JavaScript..NET Framework is used to create a
variety of applications and services like Console, Web, and Windows, etc. But
ASP.NET is only used to create web applications and web services. That’s why we
termed ASP.NET as a subset of the .NET Framework.

4
4.2.1.NET ARCHITECTURE

4.3 INTRODUCTION TO SQL


A database management, or DBMS, gives the user access to their data
and helps them transform the data into information. Such database management
systems include dBase, paradox, IMS, SQL Server, and SQL Server. These systems
allow users to create, update and extract information from their database. A database
is a structured collection of data. Data refers to the characteristics of people, things
and events. SQL Server stores each data item in its own fields.
In SQL Server, the fields relating to a particular person, thing or event
are bundled together to form a single complete unit of data, called a record (it can also
be referred to as raw or an occurrence). Each record is made up of a number of fields.
No two fields in a record can have the same field name.
4.3.1 SQL SERVER TABLES
SQL Server stores records relating to each other in a table. Different
tables are created for the various groups of information. Related tables are grouped
together to form a database.
4.3.2 PRIMARY KEY
Every table in SQL Server has a field or a combination of fields that
uniquely identifies each record in the table. The Unique identifier is called the
Primary Key, or simply the Key. The primary key provides the means to distinguish
one record from all other in a table. It allows the user and the database system to
identify, locate and refer to one particular record in the database.

5
4.3.3 RELATIONAL DATABASE
Sometimes all the information of interest to a business operation can
be stored in one table. SQL Server makes it very easy to link the data in multiple
tables. Matching an employee to the department in which they work is one example.
This is what makes SQL Server a relational database management system, or
RDBMS. It stores data in two or more tables and enables you to define relationships
between the table and enables you to define relationships between the tables.
4.3.4 FOREIGN KEY
When a field is one table matches the primary key of another field is
referred to as a foreign key. A foreign key is a field or a group of fields in one table
whose values match those of the primary key of another table.
4.3.5 REFERENTIAL INTEGRITY
Not only does SQL Server allow you to link multiple tables, it also
maintains consistency between them. Ensuring that the data among related tables is
correctly matched is referred to as maintaining referential integrity.
4.3.6 ADVANTAGES OF RDBMS
 Redundancy can be avoided.
 Inconsistency can be eliminated.
 Data can be Shared.
 Standards can be enforced.
 Security restrictions ca be applied.
 Integrity can be maintained.
 Conflicting requirements can be balanced.
 Data independence can be achieved.
4.3.7 DISADVANTAGES OF DBMS
A significant disadvantage of the DBMS system is cost. In addition to
the cost of purchasing of developing the software, the hardware must be upgraded to
allow for the extensive programs and the workspace required for their execution and
storage. While centralization reduces duplication, the lack of duplication requires that
the database be adequately backed up so that in case of failure the data can be
recovered.

6
4.3.8 FEATURES OF SQL SERVER
SQL SERVER is one of the leading database management systems
(DBMS) because it is the only Database that meets the uncompromising requirements
of today’s most demanding information systems. From complex decision support
systems (DSS) to the most rigorous online transaction processing (OLTP) application,
even application that require simultaneous DSS and OLTP access to the same critical
data, SQL Server leads the industry in both performance and capability.
SQL SERVER is a truly portable, distributed, and open DBMS that
delivers unmatched performance, continuous operation and support for every
database. SQL SERVER RDBMS is high performance fault tolerant DBMS which is
specially designed for online transactions processing and for handling large database
application. SQL SERVER with transactions processing option offers two features
which contribute to very high level of transaction processing throughput, which are:
The row level lock manager
1.ENTERPRISE-WIDE DATA SHARING
The unrivaled portability and connectivity of the SQL SERVER
DBMS enables all the systems in the organization to be linked into a singular,
integrated computing resource.
2.PORTABILITY
SQL SERVER is fully portable to more than 80 distinct hardware and
operating systems platforms, including UNIX, MSDOS, OS/2, Macintosh, and dozens
of proprietary platforms. This portability gives complete freedom to choose the
database server platform that meets the system requirements.
3.OPEN SYSTEMS
SQL SERVER offers a leading implementation of industry –standard
SQL. SQL Server’s open architecture integrates SQL SERVER and non –SQL
SERVER DBMS with industry’s most comprehensive collection of tools, application,
and third-party software products SQL Server’s Open architecture provides
transparent access to data from another relational database and even non-relational
database.

7
4.DISTRIBUTED DATA SHARING
SQL Server’s networking and distributed database capabilities to
access data stored on remote server with the same ease as if the information was
stored on a single local computer. A single SQL statement can access data at multiple
sites. You can store data where system requirements such as performance, security, or
availability dictate.
5.UNMATCHED PERFORMANCE
The most advanced architecture in the industry allows the SQL
SERVER DBMS to deliver unmatched performance.

8
5. SYSTEM DESIGN

5.1 MODULE DESCRIPTION


1. ADMIN PHASE
2. USER PHASE

1. ADMIN PHASE
The functionality of admin is controlling the complete website. The admin
phase has many sub modules such as User details, User account approval, Logout.
The admin has rights to view the user details of the register on this website, then the
admin can view the newly registered user details on the website and also approve the
account after verifying the details of the user. The admin manages the user’s data and
also have the access to block the user.
a. Admin login
b. Admin profile
c. View user details
d. User account approval
e. Block user
f. Query box

2. USER PHASE
The user phase has many sub modules such as Login, Sign up, Dashboard,
Register user’s, details, Logout. The user has to first create an account through filling
their basic details on the user account creation module. Once the account is created
the admin will approve the user. the user can send query to the admin. The user phase
has a logout functionality to close their session and return to the home page of the
website.
a. Login
b. Sign up
c. Dashboard
d. User profile
e. Shuffle keypad login
f. query
g. Logout

9
3. ABOUT US
The about us module has a functionality used to display the details about
website and vaccination history.
4. CONTACT US
The Contact us module has a functionality to contact the admin through this
module and clarify their doubts.

10
5.2 ARCHITECTURAL DESIGN

RELIABILITY SHUFFLING KEYPAD AND ROBUST


AUTHENTICATION

Login USER

Admin profile Login

Signup
View user details

Profile

User account
approval Shuffle keypad login

Block user
query

Query box

11
5.3 DATA FLOW DIAGRAM

User
Administrator

Reliability
Shuffling
Keypad &
Robust
Authentication

Shuffling keypad
ATM functionalities

OVERALL DATA FLOW DIAGRAM

12
5.4 DFD 0th LEVEL

Register user
User details details

RELIABILITY
SHUFFLING KEYPAD
ADMIN & ROBUST USER
AUTHENTICATION

Block user Query box

Query box Shuffle keypad


login

13
5.5 USECASE DIAGRAM

LOGOUT
LOGOUT User details

LOGIN

ADMIN

Register user’s
User account
details.
approval
USER

14
5.6 DATABASE DESIGN

A table is a data structure that organizes information into rows and columns. It
can be used to both store and display data in a structured format. For example,
database store data in table so that information can be quickly accessed from specific
rows. Websites often use table to display multiple rows of data on page. Spreadsheets
combine both purpose of a table by storing and displaying data in structured format.

Databases often contain multiple tables, with each one designed for a specific
purpose. For example, a company database may contain separate table for employees,
clients and suppliers. Each table may include its own set field, based on what data the
table needs to store. In database tables, each field is considered a column, while each
entry (or record), is considered a row. A specific value can be accessed from the table
by requesting data from an individual column and row.

a) USER ACCOUNT DETAILS ENTITY

FIELDS DATA TYPE CONSTRAINS


ID Int Primary Key
USERNAME Varchar (max) Not Null

MAIL ID Varchar (max) Not Null

PASSWORD Varchar (max) Not Null

CONFIRM Varchar (max) Not Null


PASSWORD
MOBILE bigint Not Null

CITY Varchar (max) Not Null

15
b) USER QUERY ENTITY

FIELDS DATA TYPE CONSTRAINS


ID Int Primary Key

USERNAME Varchar (max) Not Null

MAIL ID Varchar (max) Not Null

FEED BACK Varchar (max) Not Null

MOBILE bigint Not Null

16
6.SYSTEM TESTING AND IMPLEMENTATION

6.1 TESTING INTRODUCTION


System Testing is a type of software testing that is performed on a complete
integrated system to evaluate the compliance of the system with the corresponding
requirements. In system testing, integration testing passed components are taken as
input. The goal of integration testing is to detect any irregularity between the units
that are integrated together. System testing detects defects within both the integrated
units and the whole system. The result of system testing is the observed behavior of
a component or a system when it is tested. System Testing is carried out on the
whole system in the context of either system requirement specifications or
functional requirement specifications or in the context of both. System testing tests
the design and behavior of the system and also the expectations of the customer. It is
performed to test the system beyond the bounds mentioned in the software
requirements specification (SRS). System Testing is basically performed by at
testing team that is independent of the development team that helps to test the
quality of the system impartial. It has both functional and non-functional
testing. System Testing is a black-box testing. System Testing is performed after the
integration testing and before the acceptance testing.

6.2 TESTING METHODS


There are two major type of testing they are
1) White Box Testing.
2) Black Box Testing.
6.2.1 WHITE BOX TESTING
White box testing techniques analyze the internal structures the used data
structures, internal design, code structure, and the working of the software rather than
just the functionality as in black box testing. It is also called glass box testing or clear
box testing or structural testing. White Box Testing is also known as transparent
testing, open box testing.
6.2.2 BLACK BOX TESTING
Black box testing is a type of software testing in which the functionality of the
software is not known. The testing is done without the internal knowledge of the
products.

17
6.3 UNIT TESTING
Unit testing is a software development process in which the smallest testable
parts of an application, called units, are individually and independently scrutinized for
proper operation. This testing methodology is done during the development process
by the software developers and sometimes QA staff..
6.4 INTEGRATION TESTING
Integration testing (sometimes called integration and testing, abbreviated I&T)
is the phase in software testing in which individual software modules are combined
and tested as a group. Integration testing is conducted to evaluate the compliance of a
system or component with specified functional requirements.
6.5 VALIDATION TESTING
Validation testing is the Quality Assurance (QA) process of verifying that a
software application meets the needs and requirements of its stakeholders. The main
goal of validation testing is to verify whether a software product meets its acceptance
criteria.

The process of evaluating software during the development process or at the


end of the development process to determine whether it satisfies specified business
requirements.

6.6 USER ACCEPTANCE TESTING


User Acceptance Testing (UAT) is a type of testing performed by the end user
or the client to verify/accept the software system before moving the software
application to the production environment. UAT is done in the final phase of testing
after functional, integration and system testing is done.

18
6.7 TEST CASES

ACTUAL
INPUT EXPECTED TEST ACTION
NO OUTPUT
GIVEN OUTPUT PASS TAKEN
OCCURED
Admin Admin Home Admin Home
1 YES -
Admin123 Page Page
Muthu Staff Home Staff Home
2 YES -
Muthu123 Page Page
The
Admin, Admin Home Invalid
3 NO password is
145 Page Password
Wrong

19
7. SYSTEM IMPLEMENTATION

7.1 INTRODUCTION
Implementation is the stage in the project where the theoretical design is
turned into a working system. The implementation phase constructs, installs, and
operates the new system. The most crucial stage in achieving a new successful system
is that it will work efficiently and effectively.
There are several activities involved while implementing a new project. They
are
 End user training
 End user Education
 Training on the application software
 System Design
 Parallel Run and To New System
 Post implementation Review

7.2 END USER TRAINING

End-user training is an important part of the computer-based information


system development, which must be provided to employees to enable them to do their
own problem solving.

7.3 END USER EDUCATION


End-user education is one of the most important aspects of an effective ERP
implementation. Most ERP projects fail due to people-related issues. It is essential
that companies allay the fears of their staff about the implementation of the ERP
system and provide clarity about their changed roles and responsibilities.
Organizations also need to ensure that their people are well-trained to use the
software effectively. I my next blogs, we will examine the challenges in imparting
effective end-user training and how to overcome the challenges.

20
7.4 TRAINING OF APPLICATION SOFTWARE
Implementing new software is always a challenge, even for the most flexible
companies. Succeeding demands planning transitions smoothly and providing your
team with relevant training material on the new software.

7.5 SYSTEM DESIGN


In this phase, the complex activity of system development is divided into
several smaller sub-activities, which coordinate with each other to achieve the main
objective of system development.

7.6 POST IMPLEMENTATION VIEW


The department is planning a method to know the states of the past
implementation process. For that regular meeting will be arranged by the concerned
officers about the implementation problem and success.

21
8. CONCLUSION

This reliability shuffling keypad & robust authentication is an authentic web


application which always makes the unknown persons, low lying persons and hackers
are being prevented from over seeing the password or intentionally note the finger
movements and guess the password and confuse these culprits even after they oversee
or note cannot crack into the clients area by a shuffling keypad whose shuffling will
change after use by a different layout.

22
9. FUTURE ENHANCEMENTS

The future is unpredictable, the keypad shuffling not only confuses the hacker if
not properly watched it will confuse the user also, but they must take care of these
issues.
The method of keypad shuffling used in this application is software oriented.
In year ahead, we can use the shuffling hardware kit.
For the disabled person (blind), this application can be used in the form of
which the dynamic shuffling keys are used in physical appearance but
performs as the static form of as usual keypad. Like the morse code or braille
numbers.
This enhances the neighbors or others to confuse them and prevents from
hacking of user’s data. Therefore, the confidentiality is maintained.

23
10. BIBLIOGRAPHY

BOOK REFERENCE
1.ASP.NET : The Complete Reference” - Matthew
MacDonal
2.“ASP.NET 4.5 in Simple Steps” - Kogent
3.“Software Testing” - Paul C. Jorgrnsen
4.“Advance SQL” - Er.Avnindra Kanaujia

WEBSITE REFERENCE
1.www.wikipedia.com
2.www.stackoverflow.com
3.www.tutorialspoint.com
4.https://www.w3schools.com/
5.www.tutlane.com
6.www.getbootstrap.com
7.https://swimburger.net/
8.www.studytonight.com

24
11. APPENDIX

11.1 SAMPLE SOURCE CODE


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using RSKeypad.Models;
using System.Data.Entity;
namespace RSKeypad.Controllers
{
public class DashController : Controller
{
public static int co = 0;
Shuffle Con = new Shuffle();
public ActionResultAdminDash()
{
return View();
}
public ActionResultUserDash()
{
return View();
}

public ActionResultUserProfile()
{
int j = Convert.ToInt32(TempData["Pro"].ToString());
TempData.Keep();
return View(Con.Clients.Find(j));
}
[HttpPost]
public ActionResultUserProfile(Client s)
{

25
int j = Convert.ToInt32(TempData["Pro"].ToString());
TempData.Keep();
Con.Entry(s).State = EntityState.Modified;
Con.SaveChanges();
return RedirectToAction("UserProfile");
}
public ActionResultSKL()
{
return View();
}
[HttpPost]
public ActionResultSKL(Client k)
{
int c = Con.Clients.Where(m =>m.Pass.Equals(k.Pass) &&m.Status ==
"Active").Count();
if (c != 0)
{
int j = Convert.ToInt32(TempData["Pro"].ToString());
TempData.Keep();
return RedirectToAction("Funds");
}
else
{
TempData["Notification"] = "<i class='text-warning'>Incorrect Pin</i>";
co++;
if (co >= 3)
{

int j = Convert.ToInt32(TempData["Pro"].ToString());
TempData.Keep();
var l = Con.Clients.Find(j);
l.Status = "Block";
Con.SaveChanges();
TempData["Notification"] = "<i class='text-warning'>Account Blocked
Please Contact Your Admin</i>";

26
return RedirectToAction("SKL");

}
return RedirectToAction("SKL");
}
}
public ActionResultFunds()
{
return View();
}
public ActionResultUserList()
{
return View(Con.Clients.Where(m =>m.Status == null).ToList());
}

public ActionResult UserList1()


{
return View(Con.Clients.Where(m =>m.Status == "Active").ToList());
}
public ActionResultactive(int i)
{
var c = Con.Clients.Find(i);
c.Status = "Active";
Con.SaveChanges();
return RedirectToAction("UserList");
}
public ActionResultBlock()
{
return View(Con.Clients.Where(m =>m.Status == "Block").ToList());

public ActionResultunblock(int i)
{
var c = Con.Clients.Find(i);

27
c.Status = "Active";
co = 0;
Con.SaveChanges();
return RedirectToAction("Block");
}
public ActionResultfb()
{
return View();
}
[HttpPost]
public ActionResultfb(Feedback g)
{
Con.Feedbacks.Add(g);
Con.SaveChanges();
return RedirectToAction("UserDash");
}
public ActionResultfeedlist()
{
return View(Con.Feedbacks.ToList());
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace RSKeypad.Controllers
{
public class HomeController : Controller
{
// GET: Home
public ActionResultIndex()
{

28
return View();
}
public ActionResultAboutUs()
{
return View();
}
public ActionResultContact()
{
return View();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using RSKeypad.Models;
namespace RSKeypad.Controllers
{
public class LoginController : Controller
{
Shuffle con = new Shuffle();
public ActionResultAdminLogin()
{
return View();
}
[HttpPost]
public ActionResultAdminLogin(Admin s)
{
if (ModelState.IsValid)
{
if (s.email == "[email protected]" &&s.PSD == "123")
{
return RedirectToAction("AdminDash", "Dash");

29
}
else
{
return View();
}
}
return View();
}
public ActionResultUserLogin()
{
return View();
}
[HttpPost]
public ActionResultUserLogin(Admin s)
{
if (ModelState.IsValid)
{
int c = con.Clients.Where(m =>m.Mail.Equals(s.email)
&&m.Pass.Equals(s.PSD) &&m.Status.Equals("Active")).Count();
if (c != 0)
{
TempData["Pro"] = con.Clients.Where(m =>m.Mail.Equals(s.email)
&&m.Pass.Equals(s.PSD) &&m.Status.Equals("Active")).Select(m
=>m.Id).FirstOrDefault();
return RedirectToAction("UserDash", "Dash");
}
else
{
return View();
}
}
return View();
}
public ActionResultClientAccount()
{

30
return View();
}
[HttpPost]
public ActionResultClientAccount(Client s)
{
int g = con.Clients.Where(m =>m.Pass.Equals(s.Pass)).Count();
if (g != 0)
{
if (ModelState.IsValid)
{
con.Clients.Add(s);
con.SaveChanges();
return RedirectToAction("UserLogin");
}
}
else
{
TempData["Notification"] = "<i class='text-warning'>Pin Already
Exists</i>";
}
return View();
}
public ActionResultForgot(Admin s)
{
int c = con.Clients.Where(m =>m.Mail.Equals(s.email)).Count();
if (c != 0)
{
return RedirectToAction("Change");
}
else
{
return View();
}
}
public ActionResultChange()

31
{
return View();
}
[HttpPost]
public ActionResultChange(Admin s)
{
var k = con.Clients.Where(m =>m.Mail.Equals(s.email)).Select(m
=>m.Id).FirstOrDefault();
var h = con.Clients.Find(k);
h.Pass = s.PSD;
h.CPass = s.PSD;
con.SaveChanges();
return RedirectToAction("UserLogin");
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Linq;
using System.Web;

namespace RSKeypad.Models
{
public class ATM
{
}
public class Admin
{
[Required, Display(Name = "Email"), EmailAddress]
public string email { get; set; }
[Required, Display(Name = "Password")]
public string PSD { get; set; }
}

32
public class Client
{
[Key]
public int Id { get; set; }
[Display(Name = "User Name"), Required]
public string UN { get; set; }
[Display(Name = "Mail Id"), Required, EmailAddress]
public string Mail { get; set; }
[Display(Name = "Password"), Required]
public string Pass { get; set; }
[Display(Name = "Confirmation Password"), Required]
public string CPass{ get; set; }
[Display(Name = "Mobile"), Required]
public Int64 Mob { get; set; }
[Display(Name = "City"), Required]
public string City { get; set; }
public string Status { get; set; }

}
public class Feedback
{
[Key]
public int Id { get; set; }

[Display(Name = "Customer Name")]


public string PN { get; set; }

[Display(Name = "Mail Address")]


public string Mail { get; set; }

[Display(Name = "Mobile Number")]


public string Mob { get; set; }

[Display(Name = "Feed Back")]


public string FB { get; set; }

33
}
public class Shuffle :DbContext
{
public DbSet<Client> Clients { get; set; }
public DbSet<Feedback> Feedbacks { get; set; }
}
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title>Admin Dash</title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {

34
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}
</style>
</head>
<body>
<h1 class="text-center bg-dark bg-opacity-75 p-5">
Admin Dashboard
</h1>
<div class="container">
<marquee class="container" direction="left" behavior="alternate"
scrollamount="3">
<imgsrc="~/Image/B (2).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (5).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (6).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (9).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B(10).jpg" class="img-thumbnail w-5" />
</marquee>
</div>
<div class="text-center container">

35
@Html.ActionLink("Verify User Account", "UserList", "Dash", "", new {
@class = "btnbtn-primary m-2 w-15" })
@Html.ActionLink("View User Details", "UserList1", "Dash", "", new { @class
= "btnbtn-success m-2 w-15" })
@Html.ActionLink("Block User", "Block", "Dash", "", new { @class = "btnbtn-
dark m-2 w-15" })
@Html.ActionLink("Query Box", "feedlist", "Dash", "", new { @class =
"btnbtn-warning m-2 w-15" })
@Html.ActionLink("Logout", "AdminLogin", "Login", "", new { @class =
"btnbtn-info m-2 w-15" })
</div>

</body>
</html>
@model IEnumerable<RSKeypad.Models.Client>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title>Admin Dash</title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;

36
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}
</style>
</head>
<body>
<h1 class="text-center bg-dark bg-opacity-75 p-5">
Blocked User Account Details
</h1>

<table class="table text-center container rounded bg-dark text-white w-75 p-4 ">

37
<tr>
<th>
@Html.DisplayNameFor(m =>m.Id)
</th>
<th>
@Html.DisplayNameFor(m =>m.UN)
</th>
<th>
@Html.DisplayNameFor(m =>m.Mail)
</th>
<th>
@Html.DisplayNameFor(m =>m.Pass)
</th>
<th>
@Html.DisplayNameFor(m =>m.CPass)
</th>
<th>
@Html.DisplayNameFor(m =>m.Mob)
</th>
<th>
@Html.DisplayNameFor(m =>m.City)
</th>
<th>
Action
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@item.Id

</td>
<td>
@item.UN

38
</td>
<td>
@item.Mail
</td>
<td>
@item.Pass
</td>

<td>
@item.CPass
</td>
<td>
@item.Mob
</td>
<td>
@item.City
</td>
<td>
@Html.ActionLink("Unblock", "unblock", "Dash", new { @i = @item.Id
}, new { @class = "btnbtn-primary m-2 w-15" })
</td>
</tr>
}
</table>
@Html.ActionLink("Back", "AdminDash", "Dash", "", new { @class = "btnbtn-
primary m-2 w-15" })

</body>
</html>
@model RSKeypad.Models.Feedback
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />

39
<title>Admin Dash</title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;

40
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}
</style>
</head>
<body>
<div class="container rounded bg-dark w-50 text-white bg-opacity-50 p-4 form mt-
5">
<h1 class="text-center">Send Query </h1>
@Html.Raw(@TempData["msg"])
<br />
@using (@Html.BeginForm())
{

@Html.DisplayNameFor(m => m.PN)


@Html.TextBoxFor(m => m.PN, new { @class = "form-control m-2",
@placeholder = "Customer Name", @required = "required" })

@Html.DisplayNameFor(m =>m.Mail)
@Html.TextBoxFor(m =>m.Mail, new { @class = "form-control m-2",
@placeholder = "Mail Address", @required = "required" })

@Html.DisplayNameFor(m =>m.Mob)
@Html.TextBoxFor(m =>m.Mob, new { @class = "form-control m-2",
@placeholder = "Mobile Number", @required = "required", @maxlength = "10",
@minlength = "10" })

@Html.DisplayNameFor(m =>m.FB)
@Html.TextAreaFor(m =>m.FB, new { @class = "form-control m-2",
@placeholder = "Feed back", @required = "required" })

<button class="btnbtn-warning m-2 w-15">Submit</button>

41
@Html.ActionLink("Back", "UserDash", "Dash", "", new { @class = "btnbtn-
primary m-2 w-25 float-end" })
}
</div>
</body>
</html>
@model IEnumerable<RSKeypad.Models.Feedback>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title>Admin Dash</title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {

42
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}
</style>
</head>
<body>
<div class="text-center">
<h1 class="text-center bg-dark bg-opacity-75 p-5">
<q>Query List</q>
</h1>
<table class=" table container rounded bg-dark w-75 text-white p-4 ">
<tr>
<th>
@Html.DisplayNameFor(m =>m.Id)
</th>
<th>
@Html.DisplayNameFor(m => m.PN)
</th>

<th>

43
@Html.DisplayNameFor(m =>m.Mail)
</th>
<th>
@Html.DisplayNameFor(m =>m.Mob)
</th>
<th>
@Html.DisplayNameFor(m =>m.FB)
</th>

</tr>
@foreach (var item in Model)
{
<tr>
<td>
@item.Id

</td>
<td>
@item.PN
</td>

<td>
@item.Mail
</td>
<td>
@item.Mob
</td>
<td>
@item.FB
</td>

</tr>
}

44
</table>
@Html.ActionLink("Back", "AdminDash", "Dash", "", new { @class = "btnbtn-
primary m-2 w-15" })
</div>
</body>
</html>
@model RSKeypad.Models.Client
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title></title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {

45
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}

button {
margin: 35px;
border-radius: 25px;
font-family: Georgia;
font-size: 35px !important;
vertical-align: top;
padding: 5px;
width: 85px;
}

.k {
margin-left: 28%;
font-size: 30px;
}
</style>
</head>

46
<body>

<div class="text-center container mt-5">

<div class="Shuffle container w-75 p-5 mt-5 mb-5 bg-dark bg-opacity-50


rounded-5">
<h1>
ATM USER DASHBOARD PAGE
<imgsrc="~/Image/b (5).jpg" class="img-thumbnail" />
</h1>

</div>

@Html.ActionLink("Logout", "SKL", "Dash", "", new { @class = "btnbtn-


danger m-2 w-15" })
</div>

<script src="~/Image/demo.js"></script>
</body>
</html>
@model RSKeypad.Models.Client
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title></title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';

47
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}

button {

48
margin: 35px;
border-radius: 25px;
font-family: Georgia;
font-size: 25px !important;
vertical-align: top;
padding: 5px;
width: 100px;
}

.k {
margin-left: 28%;
font-size: 30px;
}

i{
font-size: 30px;
}
</style>
</head>
<body>

<div class="text-center container">

<div class="Shuffle container w-50 p-1 mt-5 bg-dark bg-opacity-50 rounded-


5">
<h1>
Authentication Phase <br />Using Pin
</h1>

@using (@Html.BeginForm())
{
@Html.TextBoxFor(m =>m.Pass, new { @class = "form-control w-50 text-
center k", @readonly = "readonly", @placeholder = "Enter the Pin", @minlength =
"4", @maxlength = "4" })
}

49
@Html.Raw(@TempData["Notification"])
<br />
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
<button class="btnbtn-primary"></button>
</div>

@Html.ActionLink("Back", "UserDash", "Dash", "", new { @class = "btnbtn-


danger m-2 w-15" })
@Html.ActionLink("Clear", "SKL", "Dash", "", new { @class = "btnbtn-
warning m-2 w-15" })
</div>

<script src="~/Image/demo.js"></script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<title>User Dash</title>
<style>
body {
box-sizing: border-box;
margin: 0px;
background-size: cover;

50
background-image: url('../../Image/b (3).jpg');
font-family: 'Sitka Banner';
user-select: none;
}

h1 {
word-spacing: 15px;
font-size: 45px;
color: blanchedalmond;
}

q{
display: inline-block;
}

.w-15 {
width: 175px;
transition: transform 2s;
}

.w-15:hover {
transform: translateY(-15px);
}

.w-5 {
width: 250px;
height: 250px;
margin: 25px;
transition: transform 2s;
}

.w-5:hover {
transform: scale(1.2,1.2);
}

51
</style>
</head>
<body>
<h1 class="text-center bg-dark bg-opacity-75 p-5">
User Dashboard
</h1>
<div class="container">
<marquee class="container" direction="left" behavior="alternate"
scrollamount="3">
<imgsrc="~/Image/B (2).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (5).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (6).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B (9).jpg" class="img-thumbnail w-5" />
<imgsrc="~/Image/B(10).jpg" class="img-thumbnail w-5" />
</marquee>
</div>
<div class="text-center container">

@Html.ActionLink("User Profile", "UserProfile", "Dash", "", new { @class =


"btnbtn-danger m-2 w-15" })
@Html.ActionLink("Shuffle Keypad Login", "SKL", "Dash", "", new { @class
= "btnbtn-primary m-2 w-15" })
@Html.ActionLink("Query", "fb", "Dash", "", new { @class = "btnbtn-dark m-2
w-15" })
@Html.ActionLink("Logout", "UserLogin", "Login", "", new { @class =
"btnbtn-info m-2 w-15" })
</div>

</body>
</html>

52
11.2 SAMPLE SCREENSHOTS

Dashboard

Admin Login

53
User Login

Create User Account

54
User Dashboard

Admin Dashboard

55
Account verify

User profile

56
Layout

Query Box

57
ATM User Dashboard page

About Us

58
Contact Us

59

You might also like