ishantchauhan710 / PasswordManager

A highly secure app to store and manage your passwords, This app makes use of NDK, 2 Layers of AES encryption and Proguard to securely store your credentials

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Password Manager πŸ”

Tired of memorizing all your passwords or struggling to keep them somewhere safe? This app is what you need!

Check out this short video about this app

Application Install

You can install the latest version of Password Manager from the link given below πŸ‘‡

Password Manager

About πŸ““

Password manager is an app where you can store all your login credentials and other information in a secure and organized way. The app does not require any internet permission so all your information will securely stored inside your device.

App Features 🎯

  • All the emails, passwords and other credentials stored using this app are encrypted two times using two different keys. One of the key is always unique and is generated during the runtime where as the other key remains hidden deep inside the app and is secured using the power of C++ NDK and proguard.
  • The app can also generate random passwords that can be copied to clipboard. A user can change the password generation criteria and also test the strength of his or her own passwords.
  • This app does not require any internet permissions so all your passwords will remain securely stored inside your own device.
  • The app comes with an inbuilt app lock feature with anti bruteforce mechanism that prevents others from accessing your information.
  • If you have numerous of accounts to manage, you can add them to favourites, or you can categorize them and search later using the app.
  • A user can also set a password hint and change their password whenever they want.
  • The app has a beautiful UI which makes it easy to use.

Screenshots πŸ“Έ

Insights into the app πŸ”Ž

Project Setup πŸ“

Everything you want is included in this repository so all you need to do is to clone this repository on your computer and open it in android studio and then you are good to go!

Project Architecture πŸ”§

This app is built using Model View ViewModel Architecture.

Project Structure πŸ”¨

com.passwordmanager     # Root Package
.
β”œβ”€β”€ adapters            # Contains all the adapters for recycleviews
|
β”œβ”€β”€ db                  # Contains files related to android's database storage like Dao and Database class
β”‚   └── entities        # Contains files which define an entity or table's schema in room database
|
β”œβ”€β”€ repository          # Contains all the functions defined in DAO object
|
β”œβ”€β”€ security            # Contains the logic to encrypt and decrypt the data
|
β”œβ”€β”€ ui                  # UI/View layer
|   β”œβ”€β”€ activities      # Contains the UI implementation of all activities and fragments
|   β”œβ”€β”€ factories       # Contains viewmodel factories that enable us to pass repositories in viewmodel
|   └── viewmodels      # A communication gateway between our views and models 
|
└── util                # Utility / Helper classes

Built With πŸ”©

  • Room Persistance Library - This library provides an abstraction over SQLite and makes it a lot simpler to save and fetch data from a device's database.
  • Coroutines - Coroutines are used to perform two or more tasks parallely or asynchronously. They are very useful when you need to load data from cloud into your app.
  • NDK - Native Development Kit, enables you to write some part of your app's code in C language which makes it difficult to recover the encryption keys or API keys on reverse engineering.

Contact πŸ“§

For any queries, you can mail me at developerishant710@gmail.com

About

A highly secure app to store and manage your passwords, This app makes use of NDK, 2 Layers of AES encryption and Proguard to securely store your credentials

License:MIT License


Languages

Language:Kotlin 99.7%Language:C 0.2%Language:Makefile 0.1%