Projects / FEHASHMAC


FEHASHMAC is a collection of publicly known hash algorithms integrated into a command-line utility. Currently 42 hash algorithms belonging to 12 algorithm families are supported, including the five SHA-3 finalist contributions, plus HMAC for each algorithm. FEHASHMAC contains a set of over 540 known test vectors and results for each algorithm such that the correct implementation for each hardware platform and compiler version can be directly verified. FEHASHMAC supports bitwise hash calculation for algorithms with available bitwise test vectors. Currently this applies to the SHA algorithms: sha1, sha224, sha256, sha384, sha512, and to the five SHA-3 finalists. The so-called Gillogly bitwise input has only been tested for sha1, but is also implemented in the SHA-2 hashes. Bitwise hash calculation is also supported in sha512-224, sha512-256, and whirl, but there are no bitwise test vectors available. FEHASHMAC can also calculate hashed message authentication codes (HMAC).

Operating Systems

Recent releases

  •  30 Jan 2012 10:23

    Release Notes: Multiple algorithms (including HMACs) can be specified simultaneously. The data files are read only once, and all hashes are calculated in parallel. As an option, the algorithm "all" expands to the list of all known algorithms, which are thus calculated in parallel for each data file or string. Likewise, the algorithm "hmac-all" expands to all known HMAC algorithms. The results of the --check option and the test cases are nicely summarized.

    •  01 Sep 2011 21:06

      Release Notes: This release corrects an error in SKEIN_Final.

      •  03 May 2011 09:48

        Release Notes: Support was added for all SHA-3 finalists: BLAKE, GROESTL, JH, KECCAK, SKEIN for 224, 256, 384, and 512 bit hash lengths, and SKEIN also for 1024 bits. They all support bitwise operation, and bitwise test vectors are included (taken from the SHA-3 submissions). HMAC support was upgraded to FIPS PUB 198-1 (2008). HMAC test vectors were added for SHA{224, 256, 384, 512}, MD5, SHA1, RMD128, and RMD160. The list of algorithms is now sorted alphabetically.


        Project Spotlight


        A Fluent OpenStack client API for Java.


        Project Spotlight

        TurnKey TWiki Appliance

        A TWiki appliance that is easy to use and lightweight.