1
0
mirror of https://github.com/hashcat/hashcat.git synced 2025-07-01 04:12:44 +00:00
hashcat/tools/test_modules
Jens Steube 0c2ed0d199 Update plugins that benefit from an artificially limited register count (NVIDIA).
Update default hash settings to 64MiB:3:4 for Argon2 in -m 70000, following RFC 9106 recommendations.
Add option OPTS_TYPE_THREAD_MULTI_DISABLE: allows plugin developers to disable scaling the password candidate batch size based on device thread count. This can be useful for super slow hash algorithms that utilize threads differently, e.g., when the algorithm allows parallelization. Note: thread count for the device can still be set normally.
Add options OPTI_TYPE_SLOW_HASH_DIMY_INIT/LOOP/COMP: enable 2D launches for slow hash init/loop/comp kernel with dimensions X and Y. The Y value must be set via salt->salt_dimy attribute.
Change autotune kernel-loops start value to the lowest multiple of the target hash iteration count, if kernel_loops_min permits.
Fixed a bug in autotune where kernel_threads_max was not respected during initial init and loop-prepare kernel runs.
2025-06-29 14:39:14 +02:00
..
m00000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00010.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00011.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00012.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00020.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00021.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00022.pm Fixed Unit Test salt-max in case of optimized kernel, with hash-type 22 and 23 2022-01-15 16:27:15 +01:00
m00023.pm Fixed Unit Test salt-max in case of optimized kernel, with hash-type 22 and 23 2022-01-15 16:27:15 +01:00
m00024.pm Added hash-mode 24 - SolarWinds Serv-U 2020-12-18 18:31:21 +01:00
m00030.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00040.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00050.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m00060.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m00070.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m00100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00101.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00110.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00111.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00112.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m00120.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00121.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00122.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00124.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00125.pm Fix several constraints of raw modes 2019-02-16 13:37:17 +01:00
m00130.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00131.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m00132.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00133.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00140.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00141.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00150.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m00160.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m00170.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m00200.pm Make use of module_constraints more easy and fix some modes 2018-12-29 16:23:29 +01:00
m00300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00500.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m00600.pm updates default pw_max length for blake2b 2020-06-27 12:48:36 +02:00
m00610.pm Limit password and salt length in unit test for -m 610 and -m 620 2022-05-27 17:34:08 +02:00
m00620.pm Limit password and salt length in unit test for -m 610 and -m 620 2022-05-27 17:34:08 +02:00
m00900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m01000.pm Example of a better UTF8 to UTF16LE encoding in unit test. It allows digesting UTF8 encoded password candidates from the shell in passthrough mode 2021-05-01 12:22:07 +02:00
m01100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01410.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01411.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m01420.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01421.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01430.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01440.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01441.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01450.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01460.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01470.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m01500.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m01600.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01700.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01710.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01711.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m01720.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01722.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01730.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01731.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m01740.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01750.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01760.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m01770.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m01800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m02100.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m02400.pm Fixed maximum password length in module/test_module of hash-mode 2400 2023-05-21 22:58:09 +02:00
m02410.pm Fixed maximum password length in module/test_module of hash-mode 2410 2023-05-22 01:38:44 +02:00
m02500.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m02600.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m02611.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m02612.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m02630.pm Added hash-mode: md5(md5($pass.$salt)) 2023-06-24 03:25:00 +02:00
m02711.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m02811.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m03000.pm Prevent unit test of -m 3000 to generate zero hash. This confuses test.sh validator 2021-04-26 09:32:19 +02:00
m03100.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m03200.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m03500.pm Add files via upload 2020-10-25 22:58:47 +00:00
m03610.pm Added hash-mode: md5(md5(md5()).) 2023-04-28 16:20:53 -05:00
m03710.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m03711.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m03730.pm verify test fix for -m 3730 = md5($s1.uc(md5($s2.$p))) 2023-08-19 11:45:58 +02:00
m03800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m03910.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04010.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04110.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04410.pm added md5(sha1($pass).$salt) 2022-06-18 18:11:00 +02:00
m04420.pm Added hash-mode: md5(sha1($pass.$salt)) 2023-06-24 00:21:33 +02:00
m04430.pm Added hash-mode: md5(sha1($salt.$pass)) 2023-06-27 02:58:20 +02:00
m04500.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04510.pm fixes #3029: cracking long salts in -m 4510/4710 2022-02-09 16:43:24 +01:00
m04520.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04521.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04522.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04700.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m04710.pm fixes #3029: cracking long salts in -m 4510/4710 2022-02-09 16:43:24 +01:00
m04711.pm Added hash-mode 4711, Huawei sha1(md5(pass).salt) 2019-08-03 19:53:23 +02:00
m04800.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m04900.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m05000.pm Add files via upload 2020-10-26 00:06:04 +00:00
m05100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m05300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m05400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m05500.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m05600.pm minor: add use "warnings"; to every perl script 2020-07-07 09:39:01 +02:00
m05700.pm minor: add use "warnings"; to every perl script 2020-07-07 09:39:01 +02:00
m05800.pm minor: add use "warnings"; to every perl script 2020-07-07 09:39:01 +02:00
m06000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m06050.pm added HMAC-RIPEMD160 2022-11-14 20:18:35 +01:00
m06060.pm added HMAC-RIPEMD160 2022-11-14 20:18:35 +01:00
m06100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m06300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m06400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m06500.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m06600.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m06700.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m06800.pm verify test fix for -m 6800 = LastPass sniffed 2023-08-19 11:40:05 +02:00
m06900.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m07000.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m07200.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m07350.pm Add missung unit-test for -m 7350 and kernel name fix 2022-12-07 18:42:57 +00:00
m07400.pm Added -m 7401 = MySQL $A$ (sha256crypt), closes #2305 2020-02-11 11:36:16 +01:00
m07401.pm Added -m 7401 = MySQL $A$ (sha256crypt), closes #2305 2020-02-11 11:36:16 +01:00
m07500.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m07700.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07701.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07800.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07801.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m07900.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m08000.pm Add -m 8000 unit test 2019-02-17 15:10:39 +01:00
m08100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m08200.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m08300.pm Fix some typos 2023-07-27 23:11:55 +07:00
m08400.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m08500.pm Add -m 8500 unit test 2019-02-17 15:49:57 +01:00
m08600.pm Add -m 8600 unit test 2019-02-17 15:54:45 +01:00
m08700.pm Add -m 9100 unit test 2019-02-18 09:48:39 +01:00
m08900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m09100.pm Add -m 9100 unit test 2019-02-18 09:48:39 +01:00
m09200.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m09300.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m09400.pm Add -m 9600 unit test 2019-02-18 14:12:28 +01:00
m09500.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m09600.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m09700.pm Add -m 9700 unit test 2019-02-18 14:19:36 +01:00
m09800.pm fixes #2067: 40-bit oldoffice false positive problem 2020-03-16 16:30:35 +01:00
m09900.pm Fix pure kernel maximum password length in -m 9900 test unit 2019-02-20 20:56:25 +01:00
m10000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m10100.pm Do not use next if we mean return 2019-02-19 12:50:57 +01:00
m10200.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m10300.pm Add -m 10300 unit test 2019-02-19 12:23:46 +01:00
m10400.pm Add -m 10500 unit test 2019-02-19 12:46:25 +01:00
m10500.pm Do not use next if we mean return 2019-02-19 12:50:57 +01:00
m10600.pm Fix -m 10600 max password length in pure kernel mode 2019-02-19 13:17:40 +01:00
m10700.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m10800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m10810.pm Added hash-mode 10810 - sha384(pass.salt) 2020-12-17 04:45:33 +01:00
m10820.pm Added hash-mode 10820 - sha384(salt.pass) 2020-12-17 05:39:04 +01:00
m10830.pm Added hash-mode 10830 - sha384(utf16le(pass).salt) 2020-12-17 01:48:48 +01:00
m10840.pm Added hash-mode 10840 - sha384(salt.utf16le(pass)) 2020-12-17 03:41:16 +01:00
m10870.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m10900.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m10901.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m11000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m11100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m11200.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m11300.pm tests: added verify code for -m 11300 = bitcoin/litecoin 2020-07-21 10:11:14 +02:00
m11400.pm Add unit tests for multiple modules: 2019-02-17 22:48:19 +02:00
m11500.pm Add pure kernels for -m 11500 2022-10-31 09:45:09 +00:00
m11600.pm Add -m 11600 optimized kernel 2020-01-26 18:38:47 +01:00
m11700.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m11750.pm tests: use python3/pip3 instead of just python/pip 2020-10-13 10:12:10 +02:00
m11760.pm tests: use python3/pip3 instead of just python/pip 2020-10-13 10:12:10 +02:00
m11800.pm tests: use python3/pip3 instead of just python/pip 2020-10-13 10:12:10 +02:00
m11850.pm tests: use python3/pip3 instead of just python/pip 2020-10-13 10:12:10 +02:00
m11860.pm tests: use python3/pip3 instead of just python/pip 2020-10-13 10:12:10 +02:00
m11900.pm Fix some typos 2023-07-27 23:11:55 +07:00
m12000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12001.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12200.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m12300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12400.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m12500.pm Restore maximum password length 128 for pure RAR3 kernels 2021-05-21 22:04:24 +02:00
m12600.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12700.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m12900.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m13000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m13100.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m13200.pm tests: fixed -m 13200 = AxCrypt tests 2020-07-21 11:28:59 +02:00
m13300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m13400.pm verify test fix for -m 13400/-m 29700 2023-08-19 11:34:57 +02:00
m13500.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m13600.pm tests: fixed -m 13600 = WinZip verification 2020-07-21 11:06:34 +02:00
m13800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m13900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m14000.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m14100.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m14400.pm Add unit tests for multiple modules 2019-02-19 17:02:43 +02:00
m14700.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m14800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m14900.pm Add unit tests for multiple modules 2019-02-19 17:02:43 +02:00
m15000.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m15100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m15200.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m15300.pm Prepare for DPAPI masterkey Context 3 2022-03-06 00:47:14 +01:00
m15310.pm Added hash-mode: DPAPI masterkey file v1 (context 3) 2022-03-06 00:50:46 +01:00
m15400.pm Fix -m 15400 selftest-pair, benchmark-mask and unit-test 2019-11-21 09:39:07 +01:00
m15500.pm Add unit tests for multiple modules: 2019-02-15 21:48:09 +02:00
m15600.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m15700.pm Increase default iteration count per kernel invocation from 1024 to 2048 2025-06-15 21:14:40 +02:00
m15900.pm Prepare for DPAPI masterkey Context 3 2022-03-06 00:47:14 +01:00
m15910.pm DPAPI masterkey file v2 (context 3) 2022-03-06 00:55:47 +01:00
m16000.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m16100.pm Add unit tests for multiple modules: 2019-02-15 21:48:09 +02:00
m16200.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m16300.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m16400.pm tests: fixed -m 16400 = CRAM-MD5 Dovecot tests 2020-07-21 11:21:18 +02:00
m16500.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m16600.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m16700.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m16800.pm tests: remove verify code for -m 16800 = WPA-PMKID-PBKDF2 2020-07-21 10:49:42 +02:00
m16900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m17300.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m17400.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m17500.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m17600.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m17700.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m17800.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m17900.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m18000.pm Fixed more constraints in unit tests 2019-02-16 16:04:37 +01:00
m18100.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m18200.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m18300.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m18400.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m18500.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m18600.pm cosmetic: minor code style fixes 2020-06-13 11:19:00 +02:00
m18700.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m18800.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m18900.pm Fixed maximum password length limit which was announced as 256 but actually was 255 2019-02-26 21:20:07 +01:00
m19000.pm Added QNX /etc/shadow hash cracking support 2019-02-27 17:53:00 +01:00
m19100.pm Added QNX /etc/shadow hash cracking support 2019-02-27 17:53:00 +01:00
m19200.pm Added QNX /etc/shadow hash cracking support 2019-02-27 17:53:00 +01:00
m19300.pm Added hash-mode 19300 sha1(..) 2019-02-28 20:00:52 +01:00
m19500.pm Added hash mode 19500 2019-03-06 21:15:09 +01:00
m19600.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m19700.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m19800.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m19900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m20011.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m20012.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m20013.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m20200.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m20300.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m20400.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m20500.pm adding pkzip stream cipher kernels 20500 and 20510 2019-05-17 14:11:22 +02:00
m20510.pm Add minimum password length for -m 20510 2019-05-18 16:29:58 +02:00
m20600.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m20710.pm cleanup 2020-12-10 02:43:49 +01:00
m20711.pm update AuthMe patch (3) 2019-08-03 02:37:43 +02:00
m20712.pm Added hash-mode: RSA Security Analytics / NetWitness (sha256) 2023-06-17 14:41:17 +02:00
m20720.pm Add files via upload 2020-10-25 23:18:13 +00:00
m20730.pm add test unit for 20730 (sha256(sha256($pass.$salt))) 2025-04-26 13:15:28 +02:00
m20800.pm switch hash-mode from 4710 to 20800 2019-07-30 14:44:17 +02:00
m20900.pm switch hash-mode from 4410 to 20900 2019-07-30 15:08:55 +02:00
m21000.pm switch hash-mode from 1770 to 21000 2019-07-30 15:15:49 +02:00
m21100.pm switch hash-mode from 4720 to 21100 2019-07-30 15:19:22 +02:00
m21200.pm improved speed of -m 21200 by using pre-computed SHA1 hash 2020-07-26 18:00:09 +02:00
m21300.pm make -m 21200 more generic (except all supported salt len) 2020-03-30 13:53:37 +02:00
m21310.pm Added hash-mode: md5($salt1.sha1($salt2.$pass)) 2023-06-15 19:01:52 +02:00
m21400.pm Fix missing interpreter in m21400.pm 2023-06-04 12:06:42 +00:00
m21420.pm removed unused printf from 21420 test module 2022-02-13 19:03:24 +01:00
m21500.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m21501.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m21600.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m21700.pm Added -m 21700 = Electrum 4 and -m 21800 = Electrum 5 2019-11-16 10:48:52 +01:00
m21800.pm tests: allow tests with 05 AND 04 in zlib header for electrum 5 2019-12-11 15:45:47 +01:00
m22000.pm Initial -m 22001 support 2019-12-19 22:14:42 +01:00
m22100.pm Update Bitlocker minimum password length 4 2019-12-31 22:04:31 +01:00
m22200.pm Added hash-mode: Citrix NetScaler (SHA512) 2020-01-14 17:15:34 +01:00
m22300.pm Added -m 22300 = sha256($salt.$pass.$salt) 2020-01-15 09:16:05 +01:00
m22301.pm tests: solve telegram format conflict with jtr 2020-03-06 11:50:16 +01:00
m22400.pm AES Crypt Plugin: Replaced naive with true UTF8 to UTF16 conversion, reduced max password length to 128 and improved performance 2021-05-21 22:12:32 +02:00
m22500.pm Fixes #1538: Added -m 22500 = MultiBit Classic .key (MD5) 2020-02-06 20:25:14 +01:00
m22600.pm Added -m 22600 = Telegram Desktop App Passcode (PBKDF2-HMAC-SHA1) 2020-04-08 14:31:47 +02:00
m22700.pm fixes #2383: added -m 22700 = MultiBit HD (scrypt) 2020-05-08 10:57:32 +02:00
m22911.pm Speed improvements for all QNX /etc/shadow 2025-06-12 21:18:24 +02:00
m22921.pm Speed improvements for all QNX /etc/shadow 2025-06-12 21:18:24 +02:00
m22931.pm Speed improvements for all QNX /etc/shadow 2025-06-12 21:18:24 +02:00
m22941.pm Speed improvements for all QNX /etc/shadow 2025-06-12 21:18:24 +02:00
m22951.pm Speed improvements for all QNX /etc/shadow 2025-06-12 21:18:24 +02:00
m23001.pm fixes #2410: added -m 2300x = SecureZIP 2020-05-31 10:36:41 +02:00
m23002.pm fixes #2410: added -m 2300x = SecureZIP 2020-05-31 10:36:41 +02:00
m23003.pm fixes #2410: added -m 2300x = SecureZIP 2020-05-31 10:36:41 +02:00
m23100.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m23200.pm Fix verify function in unit test for -m 23200 2020-07-31 11:00:43 +02:00
m23300.pm Fixed unit tests using 'null' as padding method in Crypt::CBC but actually want to use 'none' 2021-05-11 07:15:45 +02:00
m23400.pm fix test/verify for -m 23400 2022-06-29 17:57:32 +02:00
m23500.pm fixes #2510: Added -m 23500/23600 = AxCrypt 2 AES-128/256 2020-08-14 16:18:29 +02:00
m23600.pm fixes #2510: Added -m 23500/23600 = AxCrypt 2 AES-128/256 2020-08-14 16:18:29 +02:00
m23700.pm Restore maximum password length 128 for pure RAR3 kernels 2021-05-21 22:04:24 +02:00
m23900.pm Added -m 23900 = BestCrypt v3 Volume Encryption 2020-09-26 16:38:51 +02:00
m24000.pm Added hash-mode: BestCrypt v4 Volume Encryption 2025-04-27 20:57:43 +02:00
m24100.pm Added mongodb-scram ServerKey (-m 24100 for SHA1, -m 24200 for SHA256) 2020-10-04 16:42:19 +02:00
m24200.pm Added mongodb-scram ServerKey (-m 24100 for SHA1, -m 24200 for SHA256) 2020-10-04 16:42:19 +02:00
m24300.pm Add files via upload 2020-10-29 10:38:11 +00:00
m24410.pm Fix some typos 2023-07-27 23:11:55 +07:00
m24420.pm Fix some typos 2023-07-27 23:11:55 +07:00
m24500.pm Added -m 24500 = Telegram Desktop >= v2.1.14 (PBKDF2-HMAC-SHA512) 2020-10-16 10:41:58 +02:00
m24600.pm Add additional support for SQLCipher v3 and hashes SHA1 and SHA256 and a unit-test 2021-03-26 11:36:41 +01:00
m24700.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m24800.pm Unit Test: removes salt constraints if no salt is used 2023-05-16 21:40:44 +02:00
m24900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m25000.pm Corrected issue for module 25000 (SNMPv3 HMAC-MD5-96/HMAC-SHA1-96). Password length should not be restricted to a minimum length 2022-11-27 23:51:28 +01:00
m25100.pm Corrected issue for module 25100 (SNMPv3 HMAC-MD5-96)\nPassword length should not be restricted to a minimum length 2022-11-28 00:01:27 +01:00
m25200.pm Corrected issue for module 25200 (SNMPv3 HMAC-SHA1-96) Password length should not be restricted to a minimum length 2022-11-28 00:08:45 +01:00
m25300.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m25400.pm Fix some typos 2023-07-27 23:11:55 +07:00
m25500.pm Unit-Tests: Added missing unit-test for Stargazer Stellar Wallet XLM 2021-06-10 09:02:26 +02:00
m25600.pm Rename -m 3201 to -m 25600 2021-05-17 13:23:50 +02:00
m25700.pm Fix some typos 2023-07-27 23:11:55 +07:00
m25800.pm Rename -m 3202 to -m 25800 2021-05-18 19:25:47 +02:00
m25900.pm minor whitespace fixes, per #2841 2021-06-21 07:47:22 -08:00
m26000.pm Remove some debugging code from tools/test_modules/m26000.pm 2021-04-17 21:28:20 +02:00
m26100.pm Added new hash-modes Mozilla key3.db and key4.db 2021-04-17 21:24:27 +02:00
m26200.pm fixes #2840: minor code style changes for OpenEdge tests 2021-06-22 10:40:24 +02:00
m26300.pm Renamed -m 7010 to -m 26300 2021-06-08 11:12:54 +02:00
m26401.pm Added hash-mode: AES-128/192/256-ECB NOKDF 2021-06-26 17:12:10 +02:00
m26402.pm Added hash-mode: AES-128/192/256-ECB NOKDF 2021-06-26 17:12:10 +02:00
m26403.pm Added hash-mode: AES-128/192/256-ECB NOKDF 2021-06-26 17:12:10 +02:00
m26500.pm Added hash-mode: iPhone passcode (UID key + System Keybag) 2021-07-03 19:03:06 +02:00
m26600.pm added note to the test of 26600 that the data generation is artificial 2023-02-26 13:43:30 +01:00
m26610.pm verify test fix for -m 2661- = MetaMask Wallet (short) 2023-08-19 11:54:49 +02:00
m26700.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m26800.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m26900.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27000.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27100.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27200.pm Fix errors and make recommended changes, set pw_max to 9 for opti kernel 2021-08-06 09:58:19 -04:00
m27300.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27400.pm move to 27400, fix unit test 2021-08-10 16:35:15 +02:00
m27500.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27600.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m27700.pm fixes #2674: added -m 27700 = MultiBit Classic .wallet (scrypt) 2021-09-06 19:54:22 +02:00
m27800.pm add tests for -m 27800 = MurmurHash 3 2022-06-11 11:15:03 +02:00
m27900.pm Add pure kernels for -m 27900 2022-10-30 12:23:02 +00:00
m28000.pm Add pure kernels for -m 27900 2022-10-30 12:23:02 +00:00
m28100.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28200.pm Fixed minimum password length in module of hash-mode 28200 2023-04-22 18:57:00 +02:00
m28300.pm tests: cleanup and module deps fix 2022-01-30 10:35:51 +01:00
m28400.pm Added kernel, module and unit-test for hash-mode 28400: bcryptsha512 2022-03-02 12:32:01 +01:00
m28501.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28502.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28503.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28504.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28505.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28506.pm Fix some typos 2023-07-27 23:11:55 +07:00
m28600.pm fix test/verify for -m 28600 2022-06-29 17:53:33 +02:00
m28700.pm cleanup: remove spaces at the end of lines 2022-06-20 15:19:01 +02:00
m28800.pm fix test/verify for -m 28800 2022-06-29 18:01:55 +02:00
m28900.pm fix test/verify for -m 28900 2022-06-29 18:04:29 +02:00
m29000.pm add unit tests for -m 29000 2022-06-08 15:44:14 +02:00
m29100.pm fix -m 29100 unit test dependencies 2022-06-08 16:05:34 +02:00
m29200.pm radmin 3: remove whitespace, add credits to tests 2022-05-30 16:59:30 +02:00
m29600.pm tests: add unit tests for -m 29600 2022-07-30 11:43:05 +02:00
m29700.pm verify test fix for -m 13400/-m 29700 2023-08-19 11:34:57 +02:00
m29800.pm Fixed minimum password length in module of hash-mode 29800 2023-04-18 20:13:39 +02:00
m29910.pm Fixed false negative in updated -m 299xx plugins due to invalid handling of decrypted data. 2022-10-26 06:06:08 +00:00
m29920.pm Fixed false negative in updated -m 299xx plugins due to invalid handling of decrypted data. 2022-10-26 06:06:08 +00:00
m29930.pm fix whitespace 2022-11-30 16:05:05 +01:00
m29940.pm fix whitespace 2022-11-30 16:05:05 +01:00
m30420.pm Rename -m 1412 to -m 30420, add unit test and optimized kernels 2022-11-03 20:03:20 +00:00
m30500.pm added mode 30500 2022-11-14 18:19:41 +01:00
m30600.pm Rename -m 25850 to 30600 and add missing unit-test 2022-11-23 10:37:12 +01:00
m30700.pm verify test fix for -m 30700 = Anope IRC Services 2023-08-19 11:50:10 +02:00
m30901.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m30902.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m30903.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m30904.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m30905.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m30906.pm added -m 3090x = Bitcoin raw private key 2023-01-04 15:52:48 +01:00
m31000.pm Rename module 35000 : 31000 2023-02-13 16:40:35 +01:00
m31200.pm Fix correct byte pattern and salt length in unit-test for -m 31200 2023-02-27 11:52:10 +00:00
m31300.pm Unit-test for new hash-mode -m 31300 SNTP-MS 2023-03-02 19:03:23 +00:00
m31400.pm SecureCRT MasterPassphrase v2: update module, pure kernels and test unit. Add optimized kernels. 2023-04-27 18:16:07 +02:00
m31500.pm cleanup test.pl and implement module_get_random_password() in 31500/31600 test modules 2023-05-18 21:38:14 +02:00
m31600.pm add missing md4_hex import in 31600 test module 2023-05-18 21:58:46 +02:00
m31700.pm Renumber -m 31500 to -m 31700 2023-04-01 09:00:55 +00:00
m31800.pm Add support for 12 byte IV in -m 31800 2023-04-07 06:00:54 +00:00
m31900.pm Merge pull request #3846 from philsmd/31900_verify_fix 2023-09-04 15:31:33 +02:00
m32000.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32010.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32020.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32030.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32031.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32040.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32041.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32050.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32060.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32070.pm Added support for NetIQ SSPR hashes + Adobe AEM 2023-05-16 20:35:40 +02:00
m32100.pm verify fix for -m 32100=Kerberos 5,etype 17,AS-REP 2023-08-19 12:05:49 +02:00
m32200.pm verify fix for -m 32200=Kerberos 5,etype 18,AS-REP 2023-08-19 12:09:59 +02:00
m32300.pm Added hash-mode: Empire CMS (Admin password) 2023-06-03 03:08:29 +02:00
m32410.pm Added hash-mode: sha512(sha512($pass).$salt) 2023-06-14 22:51:39 +02:00
m32420.pm Added hash-mode: sha512(sha512_bin($pass).$salt) 2023-07-01 23:49:48 +02:00
m32600.pm Renamed hash-mode 6150 to 32600 2023-08-03 20:55:47 +00:00
m33300.pm add test unit for 33300 (HMAC-BLAKE2s-256) 2025-04-26 13:07:08 +02:00
m33500.pm Rename -m 4500x to -m 3350x 2025-05-18 21:07:44 +02:00
m33501.pm Rename -m 4500x to -m 3350x 2025-05-18 21:07:44 +02:00
m33502.pm Rename -m 4500x to -m 3350x 2025-05-18 21:07:44 +02:00
m33600.pm Added hash-modes: RIPEMD-320, HMAC-RIPEMD320 (key = $pass), HMAC-RIPEMD320 (key = $salt) 2025-05-26 20:28:13 +02:00
m33650.pm Added hash-modes: RIPEMD-320, HMAC-RIPEMD320 (key = $pass), HMAC-RIPEMD320 (key = $salt) 2025-05-26 20:28:13 +02:00
m33660.pm Added hash-modes: RIPEMD-320, HMAC-RIPEMD320 (key = $pass), HMAC-RIPEMD320 (key = $salt) 2025-05-26 20:28:13 +02:00
m33700.pm Module 33700: limit data len to 32 bytes, based on the extraction tool 2025-06-10 00:35:35 +02:00
m33800.pm Added support for WBB4 (Woltlab Burning Board) Plugin [bcrypt(bcrypt($pass))] 2025-06-13 12:38:06 +02:00
m70000.pm Update plugins that benefit from an artificially limited register count (NVIDIA). 2025-06-29 14:39:14 +02:00
m70100.pm - Add code to recognize Microsofts OpenCL D3D12 platform 2025-06-02 06:59:36 +02:00
m70200.pm - Add code to recognize Microsofts OpenCL D3D12 platform 2025-06-02 06:59:36 +02:00
m72000.pm The Assimilation Bridge (Python plugins -m 72000 and -m 73000) 2025-06-02 10:15:34 +02:00
m73000.pm The Assimilation Bridge (Python plugins -m 72000 and -m 73000) 2025-06-02 10:15:34 +02:00
README.md Fix some typos 2023-07-27 23:11:55 +07:00

Hashcat test modules

Each module provides the functions module_constraints, module_generate_hash and module_verify_hash.

  • The module_constraints function should return the minimum and maximum length of the password, salt and the combination of password and salt in following order: password (pure), salt (pure), password (optimized), salt (optimized) and combination (optimized). Each pair should be set to -1 if the hash mode is not supporting the appropriate field. For example, if a hash-mode does not support a salt, it should be set to -1. The last field (combination) is important if the password and the salt is stored in the same buffer in the kernel (typically raw hashes only).
  • The first parameter to module_generate_hash is the password, which can be either in ASCII or binary (packed) form. The second parameter is the salt *which can be undefined for unsalted hash modes).
  • The module_verify_hash function accepts a line from the cracks file, without the newline characters.

During single and passthrough tests the module_generate_hash function must provide random values (e.g. salt) for hash generation if necessary. The test.pl script offers a few handy functions like random_hex_string, random_numeric_string and random_bytes. You can implement your own salt generation functions, if your mode has specific requirements.

During verify tests the module_verify_hash function must parse the hash:password line and calculate a hash by passing all necessary data to module_generate_hash. How you pass it is up to you, as long as the first parameter is the password.

Important: You have to call pack_if_HEX_notation as soon as you have parsed the password, or your tests will fail on passwords in the $HEX[...] format.

If the algorithm has ambiguous hashes (e.g. partial case-insensitivity), the test module can provide an optional function module_preprocess_hashlist. It receives a reference to the hashlist array and can unify the hashes in a way that guarantees the match with the output of module_verify_hash.

Examples

  • For the most basic test modules, see m00000.pm and m00100.pm
  • For the basic salted hash tests, see m00110.pm and m00120.pm
  • For some slightly more complex modules with PBKDF2 and encryption, see m18400.pm and m18600.pm
  • For a test module with hashlist preprocessing and a custom salt generation algorithm, see m05600.pm