#!/usr/bin/perl use Digest::MD5; my $passw = "cisco"; $passw .= "\0" x (16-length($passw)); # pad with zeros my $itoa64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; sub pseudo_base64 { my $md5 = shift; my $s64 = ""; for my $i (0..3) { my $v = unpack "V", substr($md5, $i*4, 4); for (1..4) { $s64 .= substr($itoa64, $v & 0x3f, 1); $v >>= 6; } } return $s64; } print pseudo_base64(Digest::MD5::md5($passw)),"\n"; # 2KFQnbNIdI.2KYOU