29 lines
660 B
Perl
29 lines
660 B
Perl
use Digest::SHA qw/sha256_hex/;
|
|
use threads;
|
|
use threads::shared;
|
|
my @results :shared;
|
|
|
|
print "$_ : ",join(" ",search($_)), "\n" for (qw/
|
|
1115dd800feaacefdf481f1f9070374a2a81e27880f187396db67958b207cbad
|
|
3a7bd3e2360a3d29eea436fcfb7e44c735d117c42d1c1835420b6b9942dd4f1b
|
|
74e1bb62f8dabb8125a58852b63bdf6eaef667cb56ac7f7cdba6d7305c50a22f
|
|
/);
|
|
|
|
|
|
sub search {
|
|
my $hash = shift;
|
|
@results = ();
|
|
$_->join() for map { threads->create('tsearch', $_, $hash) } 0..25;
|
|
return @results;
|
|
}
|
|
|
|
sub tsearch {
|
|
my($tnum, $hash) = @_;
|
|
my $s = chr(ord("a")+$tnum) . "aaaa";
|
|
|
|
for (1..456976) { # 26^4
|
|
push @results, $s if sha256_hex($s) eq $hash;
|
|
$s++;
|
|
}
|
|
}
|