Forum Webscript.Ru
Программирование => Perl => Тема начата: от 16 Января 2002, 01:15:17
-
Подскажите, зависит ли результат функции "crypt" от платформы, сервера, версии Perl и т.п.
Функция давала одно и то же на WinME и на FreeBSD хостера.
Сейчас на WinXP обнаружил странную вещь - результат функции для той же строки изменился и, что самое удивительное, в начале зашифрованной строки теперь отсутствует salt.
-
Функция давала одно и то же на WinME и на FreeBSD хостера.
я проверял на Win9x, FreeBSD, Solaris - было одно и тоже.
Вот только что-то с хостингом hut.ru не сложилось, там freebsd, но когда я проверял крипт выдал вообще черт знает что.
По идее, должно быть одно и тоже - алгоритм то один.
-
Люди, отзовитесь!
Кто-нибудь проверял на ActivePerl 5.6 под XP?
-
Действительно, тот кто под XP
запустите такой скрипт, и напишите тут что выдаст:
#!/usr/bin/perl
print crypt(\'admin\',\'GK\');
Должен написать:
GKydljZ1x/Jv.
-
Да, так и получается. Виноват!
Окакзывается, изменился не результат функции crypt, а значение встроенной переменной $0 - теперь там длинные имена файлов представляются в виде 8.3, т.е. файл "abcdefghijklm.pl" представляется в виде "ABCDEF~1.PL".
При этом $ENV{\'SCRIPT_NAME\'} имеет нормальное значение, ее я теперь и использую.
Теперь другой вопрос...
Какие будут соображения по поводу $0 ?