All Projects → carlalexander → Passwords Evolved

carlalexander / Passwords Evolved

Licence: gpl-3.0
WordPress password authentication for the modern era

Projects that are alternatives of or similar to Passwords Evolved

React With Wordpress
🔥 Example of react application to access WordPress REST API
Stars: ✭ 137 (+85.14%)
Mutual labels:  wordpress, authentication
Bcrypt.js
Optimized bcrypt in plain JavaScript with zero dependencies.
Stars: ✭ 2,903 (+3822.97%)
Mutual labels:  authentication, bcrypt
Wp Password Bcrypt
WordPress plugin to implement secure bcrypt hashed passwords
Stars: ✭ 520 (+602.7%)
Mutual labels:  wordpress, bcrypt
Nextjs Headless Wordpress
🔥 Nextjs Headless WordPress
Stars: ✭ 110 (+48.65%)
Mutual labels:  wordpress, authentication
Keyring
Keyring is an authentication framework for WordPress. It comes with definitions for a variety of HTTP Basic, OAuth1 and OAuth2 web services. Use it as a common foundation for working with other web services from within WordPress code.
Stars: ✭ 52 (-29.73%)
Mutual labels:  wordpress, authentication
Wp Missed Schedule
Find only missed schedule posts, every 15 minutes, and republish correctly 10 items each session. The Original plugin (only this) no longer available on WordPress.org for explicit author request! Compatible with WP 2.1+ to 4.9+ and 5.0-beta3 (100.000+ installs 300.000+ downloads 2016-04-13) Please: do not install unauthorized malware cloned forked!
Stars: ✭ 69 (-6.76%)
Mutual labels:  wordpress
Tweetnacl Js
Port of TweetNaCl cryptographic library to JavaScript
Stars: ✭ 1,176 (+1489.19%)
Mutual labels:  authentication
Wordpress Plugin Installer
A PHP class for installing and activating WordPress plugins.
Stars: ✭ 69 (-6.76%)
Mutual labels:  wordpress
Googleclientplugin
Google Client Plugin for Xamarin iOS and Android
Stars: ✭ 69 (-6.76%)
Mutual labels:  authentication
Meadow
WordPress templating DSL based on Twig.
Stars: ✭ 73 (-1.35%)
Mutual labels:  wordpress
Authex
Authex is an opinionated JWT authentication and authorization library for Elixir.
Stars: ✭ 73 (-1.35%)
Mutual labels:  authentication
Mongoaudit
🔥 A powerful MongoDB auditing and pentesting tool 🔥
Stars: ✭ 1,174 (+1486.49%)
Mutual labels:  authentication
Wpintel
Chrome extension designed for WordPress Vulnerability Scanning and information gathering!
Stars: ✭ 70 (-5.41%)
Mutual labels:  wordpress
Wp Pro Quiz
Wordpress WP-Pro-Quiz Plugin (Official)
Stars: ✭ 72 (-2.7%)
Mutual labels:  wordpress
Cas Gradle Overlay Template
CAS Gradle Overlay: Generic CAS gradle war overlay to exercise the latest versions of CAS
Stars: ✭ 69 (-6.76%)
Mutual labels:  authentication
Flexiblelogin
A Sponge minecraft server plugin for second factor authentication
Stars: ✭ 73 (-1.35%)
Mutual labels:  authentication
Amp Theme Framework
Start Creating an AMP theme in minutes - This is a default / boilerplate theme, you can use this, modify and make one your own.
Stars: ✭ 69 (-6.76%)
Mutual labels:  wordpress
Spring Boot Webflux Jjwt
Example Spring Boot and WebFlux (Reactive Web) with Spring Security and JWT for token Authentication and Authorization
Stars: ✭ 71 (-4.05%)
Mutual labels:  authentication
React Native Navigation V2
Up and running with React Native Navigation - V2 - by Wix
Stars: ✭ 73 (-1.35%)
Mutual labels:  authentication
Comeonin
Password hashing specification for the Elixir programming language
Stars: ✭ 1,166 (+1475.68%)
Mutual labels:  bcrypt

Passwords Evolved

CircleCI Scrutinizer Code Quality

A reimagining of WordPress authentication using modern security practices.

Requirements

  • PHP >= 5.6

What does this plugin do?

The goal of this plugin is to shore up the WordPress authentication using standard security practice recommendations. At this time, the plugin improves WordPress authentication by doing the following:

Enforcing uncompromised passwords

This plugin prevents someone from using passwords that have appeared in data breaches. Whenever someone logs into a WordPress site, it'll verify their password using the Have I been pwned? API. If their password appeared in a data breach, the plugin will prevent them from logging in until they reset their password.

By default, this level of enforcement is only done on an account that has the "administrator" role. You can change which roles have their passwords enforced from the settings page. For people that have a role where there's no password enforcement, the plugin will show a warning when they log in with a compromised password.

The enforcement of uncompromised password also extends to when someone resets or changes their password. That said, in those situations, using an uncompromised password is mandatory. Someone will never be able to reset or change their password to one that's appeared in a security breach. (As long as the plugin is able to contact the API.)

Using stronger password hashing

The plugin also encrypts passwords using either the bcrypt and Argon2 hashing functions. These are the strongest hashing functions available in PHP. Argon2 is available natively starting with PHP 7.2, but the plugin can also encrypt passwords on older PHP versions using the libsodium compatibility layer introduced in WordPress 5.2.

You don't have to do anything to convert your password hash to a stronger encryption standard. The plugin will take care of converting it the next time that you log in after installing the plugin. If you decide to remove the plugin, your password will continue working and remain encrypted until you reset it.

It's also worth noting that using a stronger hashing function is only important in the advent of a data breach. A stronger password hashing function makes decrypting the passwords from the data breach a lot harder to do. This combined with the enforcement of uncompromised passwords will help ensure that those passwords are never decrypted. (Or at least without significant effort.)

FAQ

Wait so are you sending my password to a 3rd party!?

No, the plugin never sends your full password to a 3rd party for verification. The plugin only sends the first five characters of the SHA-1 hashed password to a 3rd party. The 3rd party then sends back all passwords with a hash that starts with those five characters.

The plugin then handles the rest of the password validation itself. It compares the SHA-1 hashed version of your password to the passwords returned by the 3rd party. We call this process k-anonymity. (You can read more about validating leaked passwords with it here.)

Acknowledgements

This plugin wouldn't have be possible without the awesome work of Troy Hunt. The original work for this plugin was based on recommendations from this post.

The initial inspiration for bcrypt password hashing code comes from the roots team and their wp-password-bcrypt plugin.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].