Skip to content

Java command-line interface application for testing the hardware-dependent performance of hash-algorithms

License

Notifications You must be signed in to change notification settings

cdraeger/hash-performance

Repository files navigation

#Hash Performance Testing Tool (bcrypt)

Java command-line interface application for testing the hardware-dependent performance of hash-algorithms.

demo

Currently only bcrypt is supported (via the jBCrypt library), although this might change in future releases.

##Requirements

Java Runtime Environment (1.6 or greater)

##Usage

Download the packaged JAR file, you will probably want to do that directly on your server:

wget -O hash-performance-all-1.0.7.jar 'https://github.com/cdraeger/hash-performance/blob/master/release/hash-performance-all-1.0.7.jar?raw=true'

Start the application: java -jar hash-performance-all-1.0.7.jar [options]

Add -h, --help to see possible parameters first (all optional):

Option Description
-c, --color disables colorized output
-h, --help shows this help.
-p, --print enables printing of the resulting hash to the console
-s, --string sets the string used for the hash-function

##Description

This tool takes the user-input as the log2 of the number of rounds of hashing to apply, and displays the total time consumed by the hash-function. The precision of the duration is as good as the platform allows.

The work factor and therefore the duration of the hashing with bcrypt increases exponentially (2^x), which is why the time consumed by hashing passwords is important to know for a proper balance of server-load, response-times and security.

For easy measurement and formatting of the elapsed time, the Guava Stopwatch implementation is used. Since the whole Guava dependency blows up the file size, only the necessary classes were extracted.

##Changelog

v1.0.7

  • Switched to Guava Stopwatch implementation for time measurement and display

v1.0.6

  • Initial release

About

Java command-line interface application for testing the hardware-dependent performance of hash-algorithms

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages