docs: private String getToken(String filename, long timestamp, String secret_key) throws Exception {
          byte[] bsFilename = filename.getBytes(conf.get(PROP_CHARSET, "UTF-8"));
          byte[] bsKey = secret_key.getBytes(conf.get(PROP_CHARSET, "UTF-8"));
          byte[] bsTimestamp = (new Long(timestamp)).toString().getBytes(conf.get(PROP_CHARSET, "UTF-8"));
          byte[] buff = new byte[bsFilename.length + bsKey.length + bsTimestamp.length];
          System.arraycopy(bsFilename, 0, buff, 0, bsFilename.length);
          System.arraycopy(bsKey, 0, buff, bsFilename.length, bsKey.length);
          System.arraycopy(bsTimestamp, 0, buff, bsFilename.length + bsKey.length, bsTimestamp.length);
          return Lang.digest("MD5", buff, null, 1);
      }