In mojoPortal Content Management System you can configure on the Admin page whether passwords are stored as plain text, encrypted or hashed. This is not a setting that you want to change back and forth. You can change from plain-text to Encrypted or Hashed without requiring users to reset their passwords. Changing from Encrypted or Hashed to anything else will reset all password.
Once your site is configured with a custom machine key and smtp settings are configured so the site can send email, it is best to decide whether you will use encrypted or hashed passwords, make the configuration change in Site Settings and stick with the decision. See also the Post Installation Checklist.
Plain Text Passwords
This is the default, mainly to keep things simple for when you are first setting up your site. When using plain text passwords if all else fails you can look up the password in the database in the mp_Users table in the Pwd field. When the first site is created after a new installation there is an admin user account created with the email address email@example.com and the password is admin. It is recommended that you change this account to use your own email address and a strong secret password. It is also recommended that you configure smtp settings so that your site is able to send email, that way if you forget your password, you can use the password recovery system to have it send the password to your email address.
Encrypted passwords are the first level in password protection; passwords are stored in the database with sha512 encryption using a random 128-character password salt per user. The salt is just additional text that is concatenated with the password before encryption. This is so that if 2 users have the same password the encrypted value is still different so that passwords cannot be guessed by looking at the encrypted value in the database. Encrypted passwords can be decrypted so they still support password recovery. The machine key is used as part of the encryption so before changing to encrypted passwords you need to make sure you have established a custom machine key in web.config.
Hashed passwords use a one-way sha512 encryption. That means it cannot be decrypted. When a user enters their password to login, it is concatenated with the random 128-character salt of the user and then hashed. This hashed value is compared to the hashed value stored in the database, if it matches then the user entered the correct password. Since hashed passwords cannot be decrypted it is not possible to recover a hashed password if you forget it. In this case you can still use the password recovery system, but what will happen is that a new random password will be created and sent to the user. For even greater security there is a setting in Site Settings to force users to change their password after a password reset, that way the new password sent to the user in email is used only briefly, once the user is logged in, they are forced to change their password again.
Created by Joe Audette on May 31, 2012
Last Modified by Joe Davis on Mar 16, 2023