Version 0.4

mkroesti is a hash generator written in Python.

mkroesti can be used both as a command line utility and as a web tool (demo site). It takes an input (e.g. a file, or a password) and generates different kinds of hashes from that input. The hashes to generate are selected by naming them on the command line, or ticking the corresponding checkboxes in the web GUI.

mkroesti provides no hash algorithm implementations of its own. Instead it consists of a collection of front-ends to hash algorithms available in the Python Standard Library, and from a number of third-party modules. See the section Dependencies for details.

mkroesti also defines a couple of interfaces that allow third parties to inject new front-ends to previously unavailable hash algorithms. For more information on how this extension mechanism works, please read the section "How to extend mkroesti" in the README file.


mkroesti is released under the GNU General Public License (GPLv3).

Installation instructions

The tar ball that can be downloaded further down has been created using the Distutils Python module. In the terminology of Distutils, the tar ball is a so-called "source distribution". Read the file INSTALL inside the tar ball for more details.

This page on my wiki also has step-by-step instructions how to install mkroesti on a Debian system.

Bugs and source code

If you want to report a bug, please email me directly. You may also hop over to the Bugzilla page to have a look at issues that have already been reported. Please note that although anonymous users may freely browse the bugs database, they may not enter new bugs, nor is it currently possible to register a new account.

The source code for mkroesti is maintained in a Git repository. This is the web link to access the repository in your web browser. If you want to clone the repository, please use this URL:

Python versions

The minimum requirement for running a current version of mkroesti is Python 2.6 (tests were made with Python 2.6.2). It should also run fine with Python 3.


This section documents which modules provide hash algorithms for mkroesti.

  • The Python Standard Library (external link) provides the following hashes:
    • hashlib module, always: md5, sha-1, sha-224, sha-256, sha-384, sha-512
    • hashlib module, depending on the version of the underlying OpenSSL: ripemd-160, sha-0, md2, md4
    • base64 module: base16, base32, base64
    • crypt module: the system's crypt() function
  • The module smbpasswd (external link) provides the following hashes:
    • windows-lm, windows-nt
  • The module mhash (external link) provides the following hashes:
    • haval-128, haval-160, haval-192, haval-224, haval-256 (3 rounds variant), ripemd-128, ripemd-256, ripemd-320, tiger-128, tiger-160, tiger-192, whirlpool, snefru-128, snefru-256, gost
  • The module bcrypt (external link) provides the following hashes:
    • crypt-blowfish
  • The module aprmd5 (external link) provides the following hashes:
    • crypt-apr1


Download v0.4: [Source distribution] [ChangeLog] [README]
Download v0.3: [Source distribution] [ChangeLog] [README]
Download v0.2: [Source distribution] [ChangeLog] [README]
Download v0.1: [Source distribution] [ChangeLog] [README]