private String promptForPasswordAndGetSaltedHash(String userSID) {
		char[] pwd1 = null;
		char[] pwd2 = null;
		try {
			while (true) {
				System.out.println("Enter password for user '" + userSID + "'");
				pwd1 = getPassword("New password: ", true);
				pwd2 = getPassword("Retype new password: ", false);
				if (Arrays.equals(pwd1, pwd2)) {
					break;
				}
				System.out.println("Password entries do not match! Please try again...");
				Arrays.fill(pwd1, (char) 0);
				Arrays.fill(pwd2, (char) 0);
			}
			char[] saltedHash = HashUtilities.getSaltedHash(HashUtilities.SHA256_ALGORITHM, pwd1);
			return new String(saltedHash);
		}
		catch (IOException e) {
			System.err.println("Password entry error: " + e.getMessage());
			System.exit(-1);
			return null;
		}
		finally {
			if (pwd1 != null) {
				Arrays.fill(pwd1, (char) 0);
			}
			if (pwd2 != null) {
				Arrays.fill(pwd2, (char) 0);
			}
		}
	}
Main method for processing ServerAdmin command line arguments.
The following properties may be set:
<pre>
  UserAdmin.invocation - identifies the name of the application used when displaying usage text.
  UserAdmin.config - identifies the config file instead of passing on command line.
</pre>
@param args command line arguments
Ghidra/Features/GhidraServer/src/main/java/ghidra/server/ServerAdmin.java