List of usage examples for org.apache.commons.codec.digest DigestUtils sha1Hex
public static String sha1Hex(String data)
From source file:org.apache.pulsar.client.util.ConsumerName.java
public static String generateRandomName() { return DigestUtils.sha1Hex(UUID.randomUUID().toString()).substring(0, 5); }
From source file:org.apache.pulsar.testclient.ManagedLedgerWriter.java
public static void main(String[] args) throws Exception { final Arguments arguments = new Arguments(); JCommander jc = new JCommander(arguments); jc.setProgramName("pulsar-perf-producer"); try {//from w w w . j av a 2 s . c om jc.parse(args); } catch (ParameterException e) { System.out.println(e.getMessage()); jc.usage(); System.exit(-1); } if (arguments.help) { jc.usage(); System.exit(-1); } arguments.testTime = TimeUnit.SECONDS.toMillis(arguments.testTime); // Dump config variables ObjectMapper m = new ObjectMapper(); ObjectWriter w = m.writerWithDefaultPrettyPrinter(); log.info("Starting Pulsar managed-ledger perf writer with config: {}", w.writeValueAsString(arguments)); byte[] payloadData = new byte[arguments.msgSize]; ByteBuf payloadBuffer = PooledByteBufAllocator.DEFAULT.directBuffer(arguments.msgSize); payloadBuffer.writerIndex(arguments.msgSize); // Now processing command line arguments String managedLedgerPrefix = "test-" + DigestUtils.sha1Hex(UUID.randomUUID().toString()).substring(0, 5); ClientConfiguration bkConf = new ClientConfiguration(); bkConf.setUseV2WireProtocol(true); bkConf.setAddEntryTimeout(30); bkConf.setReadEntryTimeout(30); bkConf.setThrottleValue(0); bkConf.setNumChannelsPerBookie(arguments.maxConnections); bkConf.setZkServers(arguments.zookeeperServers); ManagedLedgerFactoryConfig mlFactoryConf = new ManagedLedgerFactoryConfig(); mlFactoryConf.setMaxCacheSize(0); ManagedLedgerFactory factory = new ManagedLedgerFactoryImpl(bkConf, mlFactoryConf); ManagedLedgerConfig mlConf = new ManagedLedgerConfig(); mlConf.setEnsembleSize(arguments.ensembleSize); mlConf.setWriteQuorumSize(arguments.writeQuorum); mlConf.setAckQuorumSize(arguments.ackQuorum); mlConf.setMinimumRolloverTime(10, TimeUnit.MINUTES); mlConf.setMetadataEnsembleSize(arguments.ensembleSize); mlConf.setMetadataWriteQuorumSize(arguments.writeQuorum); mlConf.setMetadataAckQuorumSize(arguments.ackQuorum); mlConf.setDigestType(arguments.digestType); mlConf.setMaxSizePerLedgerMb(2048); List<CompletableFuture<ManagedLedger>> futures = new ArrayList<>(); for (int i = 0; i < arguments.numManagedLedgers; i++) { String name = String.format("%s-%03d", managedLedgerPrefix, i); CompletableFuture<ManagedLedger> future = new CompletableFuture<>(); futures.add(future); factory.asyncOpen(name, mlConf, new OpenLedgerCallback() { @Override public void openLedgerComplete(ManagedLedger ledger, Object ctx) { future.complete(ledger); } @Override public void openLedgerFailed(ManagedLedgerException exception, Object ctx) { future.completeExceptionally(exception); } }, null); } List<ManagedLedger> managedLedgers = futures.stream().map(CompletableFuture::join) .collect(Collectors.toList()); log.info("Created {} managed ledgers", managedLedgers.size()); Runtime.getRuntime().addShutdownHook(new Thread() { public void run() { printAggregatedStats(); } }); Collections.shuffle(managedLedgers); AtomicBoolean isDone = new AtomicBoolean(); List<List<ManagedLedger>> managedLedgersPerThread = Lists.partition(managedLedgers, Math.max(1, managedLedgers.size() / arguments.numThreads)); for (int i = 0; i < arguments.numThreads; i++) { List<ManagedLedger> managedLedgersForThisThread = managedLedgersPerThread.get(i); int nunManagedLedgersForThisThread = managedLedgersForThisThread.size(); long numMessagesForThisThread = arguments.numMessages / arguments.numThreads; int maxOutstandingForThisThread = arguments.maxOutstanding; executor.submit(() -> { try { final double msgRate = arguments.msgRate / (double) arguments.numThreads; final RateLimiter rateLimiter = RateLimiter.create(msgRate); // Acquire 1 sec worth of messages to have a slower ramp-up rateLimiter.acquire((int) msgRate); final long startTime = System.currentTimeMillis(); final Semaphore semaphore = new Semaphore(maxOutstandingForThisThread); final AddEntryCallback addEntryCallback = new AddEntryCallback() { @Override public void addComplete(Position position, Object ctx) { long sendTime = (Long) (ctx); messagesSent.increment(); bytesSent.add(payloadData.length); long latencyMicros = NANOSECONDS.toMicros(System.nanoTime() - sendTime); recorder.recordValue(latencyMicros); cumulativeRecorder.recordValue(latencyMicros); semaphore.release(); } @Override public void addFailed(ManagedLedgerException exception, Object ctx) { log.warn("Write error on message", exception); System.exit(-1); } }; // Send messages on all topics/producers long totalSent = 0; while (true) { for (int j = 0; j < nunManagedLedgersForThisThread; j++) { if (arguments.testTime > 0) { if (System.currentTimeMillis() - startTime > arguments.testTime) { log.info("------------------- DONE -----------------------"); printAggregatedStats(); isDone.set(true); Thread.sleep(5000); System.exit(0); } } if (numMessagesForThisThread > 0) { if (totalSent++ >= numMessagesForThisThread) { log.info("------------------- DONE -----------------------"); printAggregatedStats(); isDone.set(true); Thread.sleep(5000); System.exit(0); } } semaphore.acquire(); rateLimiter.acquire(); final long sendTime = System.nanoTime(); managedLedgersForThisThread.get(j).asyncAddEntry(payloadBuffer, addEntryCallback, sendTime); } } } catch (Throwable t) { log.error("Got error", t); } }); } // Print report stats long oldTime = System.nanoTime(); Histogram reportHistogram = null; while (true) { try { Thread.sleep(10000); } catch (InterruptedException e) { break; } if (isDone.get()) { break; } long now = System.nanoTime(); double elapsed = (now - oldTime) / 1e9; double rate = messagesSent.sumThenReset() / elapsed; double throughput = bytesSent.sumThenReset() / elapsed / 1024 / 1024 * 8; reportHistogram = recorder.getIntervalHistogram(reportHistogram); log.info( "Throughput produced: {} msg/s --- {} Mbit/s --- Latency: mean: {} ms - med: {} - 95pct: {} - 99pct: {} - 99.9pct: {} - 99.99pct: {} - Max: {}", throughputFormat.format(rate), throughputFormat.format(throughput), dec.format(reportHistogram.getMean() / 1000.0), dec.format(reportHistogram.getValueAtPercentile(50) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(95) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(99) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(99.9) / 1000.0), dec.format(reportHistogram.getValueAtPercentile(99.99) / 1000.0), dec.format(reportHistogram.getMaxValue() / 1000.0)); reportHistogram.reset(); oldTime = now; } factory.shutdown(); }
From source file:org.apache.tika.parser.BouncyCastleDigestingParserTest.java
private void addTruth(Path tmp, String algo, Metadata truth) throws IOException { String digest = null;//from www. j ava 2 s. co m //for now, rely on CommonsDigest for truth try (InputStream is = Files.newInputStream(tmp)) { if ("MD2".equals(algo)) { digest = DigestUtils.md2Hex(is); } else if ("MD5".equals(algo)) { digest = DigestUtils.md5Hex(is); } else if ("SHA1".equals(algo)) { digest = DigestUtils.sha1Hex(is); } else if ("SHA256".equals(algo)) { digest = DigestUtils.sha256Hex(is); } else if ("SHA384".equals(algo)) { digest = DigestUtils.sha384Hex(is); } else if ("SHA512".equals(algo)) { digest = DigestUtils.sha512Hex(is); } else { throw new IllegalArgumentException("Sorry, not aware of algorithm: " + algo); } } truth.set(P + algo, digest); }
From source file:org.apache.tika.parser.DigestingParserTest.java
private void addTruth(Path tmp, CommonsDigester.DigestAlgorithm algo, Metadata truth) throws IOException { String digest = null;/*from w ww. j a v a 2s . co m*/ try (InputStream is = Files.newInputStream(tmp)) { switch (algo) { case MD2: digest = DigestUtils.md2Hex(is); break; case MD5: digest = DigestUtils.md5Hex(is); break; case SHA1: digest = DigestUtils.sha1Hex(is); break; case SHA256: digest = DigestUtils.sha256Hex(is); break; case SHA384: digest = DigestUtils.sha384Hex(is); break; case SHA512: digest = DigestUtils.sha512Hex(is); break; default: throw new IllegalArgumentException("Sorry, not aware of algorithm: " + algo.toString()); } } truth.set(P + algo.name(), digest); }
From source file:org.apache.tika.parser.utils.CommonsDigester.java
/** * * @param algorithm algo to use/*from w w w . j a v a2 s. c om*/ * @param is input stream to read from * @param metadata metadata for reporting the digest * @return whether or not this finished the input stream * @throws IOException */ private boolean digestEach(DigestAlgorithm algorithm, InputStream is, Metadata metadata) throws IOException { String digest = null; try { switch (algorithm) { case MD2: digest = DigestUtils.md2Hex(is); break; case MD5: digest = DigestUtils.md5Hex(is); break; case SHA1: digest = DigestUtils.sha1Hex(is); break; case SHA256: digest = DigestUtils.sha256Hex(is); break; case SHA384: digest = DigestUtils.sha384Hex(is); break; case SHA512: digest = DigestUtils.sha512Hex(is); break; default: throw new IllegalArgumentException("Sorry, not aware of algorithm: " + algorithm.toString()); } } catch (IOException e) { e.printStackTrace(); //swallow, or should we throw this? } if (is instanceof SimpleBoundedInputStream) { if (((SimpleBoundedInputStream) is).hasHitBound()) { return false; } } metadata.set(algorithm.getMetadataKey(), digest); return true; }
From source file:org.apigw.authserver.types.domain.CertifiedClient.java
@PrePersist @PreUpdate//from ww w .j ava 2s . c o m private void calculateHashes() { x509CertificateIssuerDNHash = DigestUtils .sha1Hex(x509CertificateIssuerDN != null ? x509CertificateIssuerDN : ""); x509CertificateSubjectDNHash = DigestUtils .sha1Hex(x509CertificateSubjectDN != null ? x509CertificateSubjectDN : ""); }
From source file:org.bigbluebutton.common2.redis.RedisStorageService.java
public String generateSingleUseCaptionToken(String recordId, String caption, Long expirySeconds) { Map<String, String> data = new HashMap<String, String>(); data.put("recordId", recordId); data.put("caption", caption); String token = DigestUtils.sha1Hex(recordId + caption + System.currentTimeMillis()); String key = "captions:" + token + ":singleusetoken"; RedisCommands<String, String> commands = connection.sync(); commands.multi();/*from w w w . j a va 2 s . c o m*/ commands.hmset(key, data); commands.expire(key, expirySeconds); commands.exec(); return token; }
From source file:org.blocks4j.commons.metrics3.MetricCounterBackup.java
private String normalize(String name) { return DigestUtils.sha1Hex(name) + ".counter"; }
From source file:org.bonitasoft.web.designer.controller.export.steps.WidgetsExportStep.java
@Override public void execute(Zipper zipper, Page page) throws IOException { Path widgetsRepositoryPath = pathResolver.getWidgetsRepositoryPath(); zipper.addDirectoryToZip(widgetsRepositoryPath, new IncludeChildDirectoryPredicate(widgetsRepositoryPath, widgetIdVisitor.visit(page)), ALL_FILES, RESOURCES + "/widgets"); // Export widgets.js List<Path> files = directiveFileGenerator.getWidgetsFilesUsedInPage(page); byte[] content = directiveFileGenerator.concatenate(files); content = Minifier.minify(content);//from www.ja v a2 s . co m zipper.addToZip(content, RESOURCES + "/js/widgets-" + DigestUtils.sha1Hex(content) + ".min.js"); }
From source file:org.bonitasoft.web.designer.controller.export.steps.WidgetsExportStepTest.java
@Test public void should_add_page_widgets_to_zip() throws Exception { repository.addWidget(aWidget().id("widget1")); repository.addWidget(aWidget().id("widget2")); Page page = aPage().with(aComponent("widget1"), aComponent("widget2")).build(); String content = "Mon content to minify"; byte[] expected = Minifier.minify(content.getBytes()); when(directiveFileGenerator.getWidgetsFilesUsedInPage(page)) .thenReturn(Arrays.asList(Paths.get("widget1"), Paths.get("widget2"))); when(directiveFileGenerator.concatenate(Arrays.asList(Paths.get("widget1"), Paths.get("widget2")))) .thenReturn(content.getBytes()); step.execute(zipper, page);/*from w w w . ja v a 2 s. co m*/ verify(zipper).addToZip(repository.resolveWidgetJson("widget1"), "resources/widgets/widget1/widget1.json"); verify(zipper).addToZip(repository.resolveWidgetJson("widget2"), "resources/widgets/widget2/widget2.json"); verify(zipper).addToZip(expected, "resources/js/widgets-" + DigestUtils.sha1Hex(expected) + ".min.js"); }