-
new features:
- added HMAC support
- extended option -a to understand HMAC definitions, including optional truncations
- added option -k, and alias --key to specify the secret for HMACs
- added option --hmacs to print all hash functions that work with HMAC
- allowed option --info for gathering HMAC info to print HMAC parameters such as
- the underlying cryptographic hash
- a specified truncation in both bits and bytes
- how many bits a truncated length should have at least
- whether a specified truncated length follows the RFC recommendation
- how many bytes a specified key should have at least
- whether the specified key follows the RFC recommendation wrt key length
- whether the specified key will be hashed
- added string hashing support
- added option --string-list to calculate hash values from strings stored in text files
- added options --string-list-charset, and alias --charset-string-list
- added option --ignore-empty-lines
- added formatter alias #MESSAGE for #FILENAME
- added console input mode
- added password mode, and readline mode for option -q (and -k)
- added option --charset-console, and alias --console-charset
- added encodings
- added encoding Z85 for option -E (without a limit on the length of the input)
- added support for oct, Base32, Base32hex, Base64, Base64url, and Z85 to option -q
- added option --output-file-replace-tokens
- added HMAC support
-
bug fixes:
- NPE if filename is null and -F is set (e.g. 'jacksum -a none -F "#SEQUENCE" -q txt:')
- NPE can occur if both -a none and -E without -F have been set
- #FILENAME is not replaced in if both "-F " and "-q file:" have been used
- aliases blake2sp-256 and blake2bp-512 are not accessible
- regression: "jacksum -a all:blake -l" returns "blake2sp-256 is an unknown algorithm" due to missing alias
- crc32_mpeg2 didn't reveal the poly representations by specifying --info
-
improved performance:
- performance for algorithm info output (
-a <algos> [--list] --info
)
- performance for algorithm info output (
-
updated documentation:
- added description and encoding tables for the most common encodings (see "jacksum -h -E")
reliable hash values of jacksum-3.7.0.jar (also included in jacksum-3.7.0.zip):
File info:
name: jacksum-3.7.0.jar
size: 1328910 bytes
legacy message digests (avoid if possible):
MD5 (128 bit): 789e2981c0ca80b5d0d81c941370a2fc
SHA1 (160 bit): 85e2f336eedc95254e838c68cb9b31af3a63cf75
RIPEMD-160 (160 bit): 3f0c11e13271969a62ee850f7f27b74b89c54b0e
TIGER (192 bit): 6e9984f4da292f4bead0ce864556781b3a0dbcb0316bfa0a
256 bit message digests (hex):
SHA-256 (USA): 9cb3454f6cae22492202a305dae11777e68e97df9cba3aac92f67d0792867ad6
SHA-512/256 (USA): ef0fa057307af060dd9c60031b6667b52e88aca45682ab215379de109e537024
SHA3-256 (USA): 7905634d40a9dcc3e3f47656f348de6c1aab1f31f4dc052865d734bbb82ef3b9
SHAKE128 (USA): 623a753c16f37438c903477e1322ce49e63a02565d193492a3071a04fd1c412a
SM3 (China): bb8e7ff81ea6c0513d84db9593ed90b9385d880a5b67ccb4856706ff78bb4b67
STREEBOG 256 (Russia): db01feff334ccd73652b31e3c6595d97c16bbe987f0087ee7cefc3730ae9534f
Kupyna256 (Ukraine): 764ba3abeb1e80d1d898de406cfdc7a7c9f5c444f69b55685331066fd60f34da
LSH-256-256 (South Korea): e6d2b735f64598d6a20050b3c8f830a12b42311703565e251a879e46d00d08c4
BLAKE3: ed3075c46f9f237620fd8ae3892cf0d6db60d65c4e749a8eff4c39bec65587bc
KangarooTwelve: 2880de0679724f99de72c837e6bdd819bd2c783056fae9be7975653378ac2c81
KECCAK256: 77076f11ddcefe2095f0cddbf25472983d1883ecd5fcb09864a425c2b2bbd825
512 bit message digests (base64, no padding):
SHA-512 (USA): BX8ZFJfMyxH1PzJaXCav+fHH0hlezxH//bPDad9bFngaH8/9bFkRHAfYz0UnZFGlk04geodQKI386Rmb8aCXTg
SHA3-512 (USA): TuZ5YS0Ls/RN89MgDDLAFNeNB2RtnCmLvNtGisLXT95vcxQBST/AtHrZoW8myqaUT/l7do+70WLq9COQXVyjqg
SHAKE256 (USA): SrICpq9FLJle/WU66ioiZEEdbvo7wwT3zzV31EuwdlVabUo+uF7pf98EF73kilzCQqAMn21aBqFx3J4tgbrf9w
STREEBOG 512 (Russia): iD3poWH96rsb/xaHNKHKFQzWIOpRWJvOTWEDp53N81vbpttTK9802VxyJ1Xct9OCxLK216nth7duPD44L3L8UQ
KUPYNA-512 (Ukraine): iGIs05FZ1i+VRgFtPVzgsLzE7L5rBTVjzuc7H9PFMUnlbo7hMizBADpp91eekDAHqux7OUWmdOBquHnIQJzyTQ
LSH-512-512 (South Korea): DZZRkq7quCPYVzZwI+ziZ4WIeXRrRqHZNTFwANAtKhgLMGBc+D22D5ekVVsYTOkL8NJGr2gcnj6VXyIgNKGtqQ
BLAKE2b-512: xzS/n4bz8QMPsfarjdiFliSpvtN4thrfp2UzHsch/Mm2YQkh0LvqNZazAgfC5pPWabNXOuTAnsw7/1zmNCGvSQ
KECCAK512: hxJxxBg8T8Ch3NXstpfetzpML1JVvPFADqQEZcgZZdkH7StzCkt5NkushO1ZoMeDKiFTX8Ztm3hFE185OCPk0A
MarsupilamiFourteen: nqzs0VPd1a0yKauq+WeuQVsk1vOn1ngR8IFQ8Lwe14ItMMUQqMLH3ACFNdzHwqBFEM6fkdgefHCjh6Ywv+YOjQ
SKEIN-512-512: tBYoWnTZXQMCS2h9OV0oVre1oK7LW2ObOGqGRji1lqsWRKmHqEtkyRRsaoDZaDBBDAuWMiVUBVPvtRoVoBpZcg
WHIRLPOOL: 3Z+VYofic4DE4EZr+TcHio8eVlRrsE7h0wjQ99BWrECzsOjm0bELMNTsfwCqM22vaiDtymzDiK+JnRVqSkur6Q
reliable hash values of jacksum-3.7.0.zip:
File info:
name: jacksum-3.7.0.zip
size: 1242359 bytes
legacy message digests (avoid if possible):
MD5 (128 bit): 9282f7e08d650cd6e4e29da6c501b117
SHA1 (160 bit): fccbbe33bd9e7efa0fc008d96db2c80c78d23450
RIPEMD-160 (160 bit): 963ec35145e781b93bb7801bda2a9e8134cf91ff
TIGER (192 bit): ebe68b4e64cb20780e167ea26d1c029e09ebbe6b3544151d
256 bit message digests (hex):
SHA-256 (USA): a6e0026804cb102db83e7918008a28c1dc4b6cded08bb192b469fd371a21d359
SHA-512/256 (USA): f73cccba8a96e6cf7fa20be3b85b24da068df1565a97470de89e3bf1b5fb55b2
SHA3-256 (USA): f95802956728875ce4d064febef5a7d50f1bd59909bcc324dd3912a1579a5397
SHAKE128 (USA): 7e8a75b6fd67685b649565896ac75e87689aefb8b52bb258cab936e727d813b2
SM3 (China): 3a2141bf4bb7f7012eb5cd5c67c9db873e43392dfa7d133b2fd62024620be428
STREEBOG 256 (Russia): f4a878e971ca68c264a8352853641305a24546e75e60100dd45a8c39f9202d48
Kupyna256 (Ukraine): 66cce2e0978152210e0f2313cc1291b40855477f5f4c113856b1af7cacf218fe
LSH-256-256 (South Korea): f2b0a58e6141e21e63958881c40f7f8991a346bbc2d583378e9ffe537769a28e
BLAKE3: 20d2e2507cd721b45dd627b8ed204eda774edbb010c72a0f8445fe3bec39481c
KangarooTwelve: 32a4bc5191f2b1e36207f3bc7499c75ff7dc5abac794599f486f6d20728237d1
KECCAK256: 1e7e90ff4b99484fdf4a904da9c3d4fde6b8e6e16589e97bcf107f1541dc02f8
512 bit message digests (base64, no padding):
SHA-512 (USA): RYc5BUniw5Q0TN9RSlcJVAECuvIaCnK1cdwTXoaBS9RxpqkbO1zQuqEXPXQbjqh2RWcJ8QbPC1XsOUBLjk3vpw
SHA3-512 (USA): mNLzgC7Eg2zrfeNtiyQIrPo6VRlbgyEvp5Hyu9qXyXHtGb5whCXFTcjuSc2Gb6xU0i7RgdI0WVY8LG8VPF2nUw
SHAKE256 (USA): u78YkA7ZO3k4LZtxuqRG4F+RSdkDSs9EtlAN++wxVNlh6ZkqdhAgGRPfoI2ifTTMYolWNGkgiFfMNZrghH156Q
STREEBOG 512 (Russia): GZpP602jp7bMMD2xGzOLdsbi9aCvJ4f0yY+BpJSaP1qoaxZgijQq+4tb2+5oE4usVlWNkcGi5JWbqZ2zbGs6NQ
KUPYNA-512 (Ukraine): Fu+2zqLLBr0OHDXI+s7cBi1n/UdKvhEeY+k0k7KiYKGrlXcCG5XmQgUf2W7oQu5ipN0cszmkSgJlaBg8CxdsbA
LSH-512-512 (South Korea): w3Axx+nkL872ntpY3ixrVtxvmBZaljdRJSnTDKiOPQaPUXhw+h6b8taDkvmyp8yT1QD+Rh4+m5eC7x+LKWdFIg
BLAKE2b-512: WqJ/fxsl/p9wv3AvIoS2YMelY4mkpbId3kKNB/mquSCLqofqwJyn62zwgqK8L3XESvnmz3LNNR3QITI39VZYkA
KECCAK512: ZCYwPkrRdceAMpMWbqcu8focldCU5+UpmsmKJ0Ozu8ad4DpYYmFf42xfut+8lvu5fiTrqhAmI5UhuSH6cwRhiA
MarsupilamiFourteen: sGTvUhq0OId8PiJOnfoovzu8RaLZVgx4oPujFNNTGDNLV8pKhcH62BPm06/WtlpW5vh4S0L75pHrpEPi5kgejg
SKEIN-512-512: 5wDMrGPnXxyx6sRRxueZkH1xzAwm5aCIfKorTb4QO1fSNkkJ+xPpQ6LuQ7/xUw7F3E7QlAIm2kZIeI69mtjTJQ
WHIRLPOOL: +d+CIOrN8fp57cBgcuELqhmJnxv7ksFrBCikXO8SjlX2k7a/aiVeb2m+aWo58q5uH8zLjUdahWkxx0Cs/7Vv5A