docs: public static String computePasswordHash(final String password, final byte[] salt) {
      if (StringMan.isEmpty(password))
        return (StringMan.encodeBytesToString(salt));
      final KeySpec spec = new PBEKeySpec(password.toCharArray(), salt, 2048, 160);
      SecretKeyFactory f;
      try {
        f = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA1");
        final byte[] hash = f.generateSecret(spec).getEncoded();
        return StringMan.encodeBytesToString(hash);
      } catch (final NoSuchAlgorithmException ex) {
        throw new RuntimeException("Missing encryption algorithm:", ex);
      } catch (final InvalidKeySpecException ex) {
        throw new RuntimeException("Key spec is incorrect.", ex);
      }
    }