code: @Override
      public boolean verify(@Sensitive char[] password, String hashedPassword) {
          String[] items = parseData(hashedPassword);
          byte[] originalHash = Base64Coder.base64DecodeString(items[3]);
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "original Hash length : " + (originalHash != null?originalHash.length:"null"));
          }
          if (originalHash == null) {
              String message = Tr.formatMessage(tc, "JAVAEESEC_CDI_ERROR_PASSWORDHASH_INVALID_DATA", Tr.formatMessage(tc, "JAVAEESEC_CDI_INVALID_HASH_VALUE"));
              Tr.error(tc, message);
              throw new IllegalArgumentException(message);
          }
          byte[] salt = Base64Coder.base64DecodeString(items[2]);
          if (tc.isDebugEnabled()) {
              Tr.debug(tc, "original Salt length : " + (salt != null?salt.length:"null"));
          }
          if (salt == null) {
              String message = Tr.formatMessage(tc, "JAVAEESEC_CDI_ERROR_PASSWORDHASH_INVALID_DATA", Tr.formatMessage(tc, "JAVAEESEC_CDI_INVALID_SALT_VALUE"));
              Tr.error(tc, message);
              throw new IllegalArgumentException(message);
          }
          byte[] calculatedHash = generate(items[0], Integer.parseInt(items[1]), originalHash.length, salt, password);
          return Arrays.equals(originalHash, calculatedHash);
      }
docs: /*
  (non-Javadoc)