From 8a81f6143a85515ff59c1ff4e299f74f10fc70c8 Mon Sep 17 00:00:00 2001 From: jsteube Date: Wed, 7 Dec 2022 18:42:57 +0000 Subject: [PATCH] Add missung unit-test for -m 7350 and kernel name fix --- OpenCL/m07350_a3-pure.cl | 4 +-- tools/test_modules/m07350.pm | 58 ++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 2 deletions(-) create mode 100644 tools/test_modules/m07350.pm diff --git a/OpenCL/m07350_a3-pure.cl b/OpenCL/m07350_a3-pure.cl index 9b118a8b5..908bd51e2 100644 --- a/OpenCL/m07350_a3-pure.cl +++ b/OpenCL/m07350_a3-pure.cl @@ -14,7 +14,7 @@ #include M2S(INCLUDE_PATH/inc_hash_md5.cl) #endif -KERNEL_FQ void m00050_mxx (KERN_ATTR_VECTOR ()) +KERNEL_FQ void m07350_mxx (KERN_ATTR_VECTOR ()) { /** * modifier @@ -78,7 +78,7 @@ KERNEL_FQ void m00050_mxx (KERN_ATTR_VECTOR ()) } } -KERNEL_FQ void m00050_sxx (KERN_ATTR_VECTOR ()) +KERNEL_FQ void m07350_sxx (KERN_ATTR_VECTOR ()) { /** * modifier diff --git a/tools/test_modules/m07350.pm b/tools/test_modules/m07350.pm new file mode 100644 index 000000000..72ef8eb2f --- /dev/null +++ b/tools/test_modules/m07350.pm @@ -0,0 +1,58 @@ +#!/usr/bin/env perl + +## +## Author......: See docs/credits.txt +## License.....: MIT +## + +use strict; +use warnings; + +use Digest::MD5 qw (md5); +use Digest::HMAC qw (hmac_hex); + +sub module_constraints { [[0, 256], [116, 148], [0, 55], [0, 31], [-1, -1]] } + +sub module_generate_hash +{ + my $word = shift; + my $salt = shift; + + my $salt_len = length ($salt); + + if ($salt_len < 32) # we don't support salt length > 55 in optimized mode, but this mode requires it + { + $salt .= "0" x 116; + + $salt_len += 116; + } + + $salt = substr ($salt, 0, $salt_len % 2 ? $salt_len - 1 : $salt_len); + + my $salt_bin = pack ("H*", $salt); + + my $digest = hmac_hex ($salt_bin, $word, \&md5, 64); + + my $hash = sprintf ("%s:%s", $digest, $salt); + + return $hash; +} + +sub module_verify_hash +{ + my $line = shift; + + my ($hash, $salt, $word) = split (':', $line); + + return unless defined $hash; + return unless defined $salt; + return unless defined $word; + + my $word_packed = pack_if_HEX_notation ($word); + + my $new_hash = module_generate_hash ($word_packed, $salt); + + return ($new_hash, $word); +} + +1;