docs: public static String md5(String text)
    {
      MessageDigest md;
      try {
        md = MessageDigest.getInstance("MD5");
      }
      catch(NoSuchAlgorithmException e) {
        throw new BugError("Java runtime without MD5 support.");
      }
      md.update(text.getBytes());
      byte[] md5 = md.digest();
  
      char[] buffer = new char[32];
      for(int i = 0; i < 16; i++) {
        buffer[i * 2] = HEXA[(md5[i] & 0xf0) >> 4];
        buffer[i * 2 + 1] = HEXA[md5[i] & 0x0f];
      }
      return new String(buffer);
    }