Delphi相談室その6
■ このスレッドは過去ログ倉庫に格納されています
0524デフォルトの名無しさん
NGNGおながいします。
sub _md5_crypt
{
my $pw = shift;
my $salt = shift;
my $Magic = MD5_CRYPT_MAGIC_STRING;
$salt =~ s/^\Q$Magic//;
$salt =~ s/^(.*)\$.*$/$1/;
$salt = substr $salt, 0, 8;
my $ctx = new Digest::MD5;
$ctx->add($pw);
$ctx->add($Magic);
$ctx->add($salt);
my $final = new Digest::MD5;
$final->add($pw);
$final->add($salt);
$final->add($pw);
$final = $final->digest;
for (my $pl = length($pw); $pl > 0; $pl -= 16) {
$ctx->add(substr($final, 0, $pl > 16 ? 16 : $pl));
}
for (my $i = length($pw); $i; $i >>= 1) {
if ($i & 1) {
$ctx->add(pack("C", 0));
} else {
$ctx->add(substr($pw, 0, 1));
}
}
■ このスレッドは過去ログ倉庫に格納されています