in reply to Decrypt UNIX password
This question is answered in the
IAQ,
under the question "How do I decrypt a string that I encrypted with crypt()?" (since crypt
generates "UNIX style passwords", usually). To quote their
answer:
sub decrypt { my $c = shift; my @c = (0) x 8; for (;;) { my $i = 0; my $s = join '', map chr, @c; return $s if crypt($s, $c) eq $c; $c[$i]=0, $i++ while $c[$i] == 255; return undef if $i > 7; $c[$i]++; } }
(For the humor impaired, the IAQ is not serious; quoth crypt's docs: "Note that "crypt" is intended to be a one-way function... There is no (known) corresponding decrypt function." This functions attempts to brute force the crypt'd string and thus is extremely slow.)
In Section
Seekers of Perl Wisdom