crypt
function in the
C library (assuming that you actually have a version
there that has not been extirpated as a potential munition). This can prove
useful for checking the password file for lousy passwords, amongst other
things. Only the guys wearing white hats should do this.
Note that crypt is intended to be a one-way function, much like breaking eggs to make an omelette. There is no (known) corresponding decrypt function. As a result, this function isn't all that useful for cryptography. (For that, see your nearby CPAN mirror.)
Here's an example that makes sure that whoever runs this program knows their own password:
$pwd = (getpwuid($<))[1]; $salt = substr($pwd, 0, 2);
system "stty -echo"; print "Password: "; chop($word = <STDIN>); print "\n"; system "stty echo";
if (crypt($word, $salt) ne $pwd) { die "Sorry...\n"; } else { print "ok\n"; }
Of course, typing in your own password to whomever asks you for it is unwise.