code: public static boolean checkAccountCRCByAlg(String alg, String blz, String number) {
          boolean ret = true;
  
          if (blz == null || number == null) {
              throw new NullPointerException("blz and number must not be null");
          }
  
          if (number.length() <= 10) {
              Method method = getAccountCRCMethodByAlg(alg);
  
              if (method != null) {
                  try {
                      int[] blz_digits = string2Ints(blz, 8);
                      int[] number_digits = string2Ints(number, 10);
  
                      Object[] args = new Object[]{blz_digits, number_digits};
                      ret = ((Boolean) method.invoke(null, args)).booleanValue();
  
                      LoggerFactory.getLogger(HBCIUtils.class).debug("\"CRC check for \"+blz+\"/\"+number+\" with alg " +
                          "\"+alg+\": \"+ret");
                  } catch (Exception e) {
                      throw new HBCI_Exception(e);
                  }
              }
          } else {
              LoggerFactory.getLogger(HBCIUtils.class).warn("can not check account numbers with more than 10 digits (" + number + ")- skipping CRC check");
          }
  
          return ret;
      }
docs: Überprüfen einer Kontonummer mit einem gegebenen CRC-Algorithmus.
  Diese Methode wird intern von {@link HBCIUtils#checkAccountCRC(String, String)}
  aufgerufen und kann für Debugging-Zwecke auch direkt benutzt werden.
  
  @param alg    Nummer des zu verwendenden Prüfziffer-Algorithmus (siehe
  Datei <code>blz.properties</code>).
  @param blz    zu überprüfende Bankleitzahl
  @param number zu überprüfende Kontonummer
  @return <code>false</code>, wenn der Prüfzifferalgorithmus für die
  angegebene Kontonummer einen Fehler meldet, sonst <code>true</code>
  (siehe dazu auch {@link #checkAccountCRC(String, String)})