A Secure Password Generator designed with security precautions for the user's data

Overview

GenPass

GenPass is a secure password generating application designed with a high level of security. It uses Java Security library to generate strong password combinations of either alphabets, numbers, alphanumeric or alphanumeric + standard password special characters. The length of the password can be between 16 and 64. Once a Password is generated, a user can copy it for use. It is not a Password manager, hence for security reasons, the application only keeps track of the 10 most recent passwords generated (with the time of generation) and gets rid of every other record. Also, GenPass does not have any knowlegde of what the user uses their generated passwords for. It is implemented using Clean Architecture, Model-View-ViewModel pattern (MVVM) and uses Modern Android Development pattern and libraries. Jetpack Datastore + Coroutines + Flow is used to save and fetch the data. Queue data structure and algorithm was implemented to enforce a maximum number of passwords to be saved per time and a sequential kick out of old data.

Project Characteristics

This application has the following characterisitcs:

Tech Stack

Minimum API level is set to 21, this means GenPass can run on approximately 98% of Android devices

  • Preferences DataStore used for data storage and retrieval
  • Kotlin Coroutines used to perform asynchronous calls to the device storage
  • Kotlin Flow used to collect the data from the device storage and transforms it to LiveData
  • ViewModel used to store and manage UI-related data in a lifecycle conscious way
  • LiveData which is an observable data holder class used to handle data in a lifecycle-aware manner
  • View Binding used to easily write code that interacts with views by referencing them directly
  • SDP/SSP which is a scalable size unit that scales with the screen size. It helps to easily design for multiple screens
  • JUnit4, a testing framework used for writing unit tests
You might also like...
An Android app that gives you a password generated by a given phrase with a custom algorithm, it also has password and biometric security.

An Android app that gives you a password generated by a given phrase with a custom algorithm, it also has password and biometric security.

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.
Easy to use cryptographic framework for data protection: secure messaging with forward secrecy and secure data storage. Has unified APIs across 14 platforms.

Themis provides strong, usable cryptography for busy people General purpose cryptographic library for storage and messaging for iOS (Swift, Obj-C), An

A Material Android password view that toggles password visibility via an eye icon.
A Material Android password view that toggles password visibility via an eye icon.

8/17/2016: As of about an hour ago, this library is deprecated! Support for password visibility is now included in the Design Support Library in TextI

SpringBoot-Security-Kotlin - JPA, MraiaDB , Security, 인증 및 권한(Role여러개)

SpringBoot-Security-Kotlin 프로젝트 생성시 java 11 , SpringBoot 2.6.2 , jar-gradle 기본환경 mariadb 잘 안됐던 내용 참고 권한 여러개 설정시 interface UserDetails를 implements할때 ge

Find Security Bugs is the SpotBugs plugin for security audits of Java web applications
Find Security Bugs is the SpotBugs plugin for security audits of Java web applications

The SpotBugs plugin for security audits of Java web applications and Android applications. (Also work with Kotlin, Groovy and Scala projects)

Android Shared preference wrapper than encrypts the values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure.
Android Shared preference wrapper than encrypts the values of Shared Preferences. It's not bullet proof security but rather a quick win for incrementally making your android app more secure.

Secure-preferences - Deprecated Please use EncryptedSharedPreferences from androidx.security in preferenced to secure-preference. (There are no active

Secure your REST APIs with Spring Security, Resource and Authorization Server from zero to JWT

Secure REST APIs with Spring ./mvnw RTFM YouTube: Spring Security Patterns YouTube: Spring Security 5.5 From Taxi to Takeoff Official Apache Maven doc

Mirai-device-generator - Mirai Device Generator with kotlin

Mirai Device Generator Mirai DeviceInfo 生成器 作为插件运行时会提供 BotConfigurationAlterer 服

A Paper fork with secure feature seed based on Secure Seed mod by Earthcomputer
A Paper fork with secure feature seed based on Secure Seed mod by Earthcomputer

GitHub | Download | Discord Matter Matter is a Paper fork that currently only adds what we call a secure feature seed. Based on Secure Seed mod by Ear

MiHawk  🦅👁️  is simple and secure 🔒 Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack DataStore Preferences 💽 to store data.
MiHawk 🦅👁️ is simple and secure 🔒 Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack DataStore Preferences 💽 to store data.

MiHawk MiHawk 🦅 👁️ is simple and secure 🔒 Android Library to store and retrieve pair of key-value data with encryption , internally it use jetpack

Help users of coding platforms to create findable, well documented, secure and offering good quality projects

The Ambassador The Ambassador will help users of coding platforms to create findable, well documented and offering good quality projects. It measures

Geoponics is an E-Commerce Android Based Application Designed for Farmers As Well As Normal Users to Buy and Sell Agricultural goods!
Geoponics is an E-Commerce Android Based Application Designed for Farmers As Well As Normal Users to Buy and Sell Agricultural goods!

Geoponics : E-Commerce Application Geoponics is an E-Commerce Android Based Aplication Designed for Farmers As Well As Normal Users to Buy and Sell Ag

Project-applocker - A concept app that uses Jetpack Security to encrypt user data such as text files or images using Encrypted Shared Preferences The Kotlin fake data generator library!
The Kotlin fake data generator library!

Fakeit This library is a port of the Ruby gem Faker. It generates realistic fake data — like names, emails, dates, countries — for a variety of scenar

A simple way to encrypt your secure data like passwords into a native .so library.
A simple way to encrypt your secure data like passwords into a native .so library.

PLEASE NOTE, THIS PROJECT IS NO LONGER BEING MAINTAINED Cipher.so Providing a simple way to keep your secure info safe for android app development. Wi

Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can focus on writing tests instead of spending time and effort to setup test data

Instantiator Tired of manually setup test data of Kotlin data classes or POJOs? Instantiator creates Instances of any class for you so that you can fo

A Clean Architecture App that uses clean Architecture (app, presentation, domain, data) packages to use coffee items API using MVVM Architecture, Coroutines, Retrofit2, Pagination, Live Data, Data Binding, Hilt , SOLID Principles , Navigation Component , RoomDb. 🔑A customizable EditText for Android with a switchable eye which shows or hides the password
🔑A customizable EditText for Android with a switchable eye which shows or hides the password

Sweet Password A customizable password component for Android Setup Gradle repositories { jCenter() } dependencies { compile 'mx.jesusmartinoz

Owner
Joseph Olugbohunmi
Google Certified Associate Android Developer | Project Manager | Cyclist | Agriculturist | FoodSecurity Advocate | Upcoming CEO
Joseph Olugbohunmi
A project generator using Compose by JetBrains with a GUI

GradleProjectGenerator A project generator using Compose by JetBrains with a GUI

Francisco Solis 0 Dec 19, 2021
Briar-desktop - A desktop program for Briar, bringing secure messaging to your desktop and mobile devices

Briar Desktop A desktop program for Briar, bringing secure messaging to your des

Briar Project 16 Dec 17, 2022
Carol 12 Sep 25, 2022
Scrobble is a wip music tracking and browsing app. It uses the Lastf.fm and spotify APIs to deliver data. The whole UI is created using Jetpack compose.

Scrobble (WIP, name not final) Scrobble is a wip music tracking and browsing app. It uses the Lastf.fm API to realize music tracking and browsing and

Niklas Schnettler 55 Oct 31, 2022
Jetpack Compose android app that gets random footballer data from REST API. Retrofit, Dependency Injection...

random-footballer Jetpack Compose android app that gets random footballer data from REST API. Retrofit, Dependency Injection... Random Footballer Demo

Raheem 0 Nov 6, 2021
Jetpack Compose app gets data from REST API using KTOR Client. Clean Architecture, Dependency Injection...

posts-ktor-client Jetpack Compose app gets data from REST API using KTOR Client. Clean Architecture, Dependency Injection... Posts KTOR Client Demo ap

Raheem 12 Dec 12, 2022
Danilo Lemes 5 Jul 31, 2022
Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Yogi Dewansyah 13 Aug 31, 2022
Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cached data by Room

Mobile Banking Android App made by Jetpack Compose Components with Kotlin, MVVM Pattern, Multi Module, Navigation, Hilt, Coroutines, Retrofit and cach

Yogi Dewansyah 13 Aug 31, 2022
Ecormmerce app built using Android latest UI framework - Compose UI and data coming from Fake Store API

BuyCart ?? Android shopping app built with Jetpack Compose consuming FAKE STORE API I am trying to learn and follow some standard Android architecture

Henry Udorji 4 Aug 5, 2022