Forum Webscript.Ru

Программирование => Perl => Тема начата: от 16 Января 2002, 01:15:17

Название: Зависимость crypt от платформы и софта
Отправлено: от 16 Января 2002, 01:15:17
Подскажите, зависит ли результат функции "crypt" от платформы, сервера, версии Perl и т.п.

Функция давала одно и то же на WinME и на FreeBSD хостера.

Сейчас на WinXP обнаружил странную вещь - результат функции для той же строки изменился и, что самое удивительное, в начале зашифрованной строки теперь отсутствует salt.
Название: ;)
Отправлено: Green Kakadu от 16 Января 2002, 02:10:32
Цитировать
Функция давала одно и то же на WinME и на FreeBSD хостера.

я проверял на Win9x, FreeBSD, Solaris - было одно и тоже.
Вот только что-то с хостингом hut.ru не сложилось, там freebsd, но когда я проверял крипт выдал вообще черт знает что.
По идее, должно быть одно и тоже - алгоритм то один.
Название: Зависимость crypt от платформы и софта
Отправлено: от 16 Января 2002, 14:55:36
Люди, отзовитесь!

Кто-нибудь проверял на ActivePerl 5.6 под XP?
Название: Да!
Отправлено: Green Kakadu от 17 Января 2002, 00:28:00
Действительно, тот кто под XP
запустите такой скрипт, и напишите тут что выдаст:

#!/usr/bin/perl
print crypt(\'admin\',\'GK\');

Должен написать:
GKydljZ1x/Jv.
Название: Зависимость crypt от платформы и софта
Отправлено: от 17 Января 2002, 18:41:00
Да, так и получается. Виноват!

Окакзывается, изменился не результат функции crypt, а значение встроенной переменной $0 - теперь там длинные имена файлов представляются в виде 8.3, т.е. файл "abcdefghijklm.pl" представляется в виде "ABCDEF~1.PL".

При этом $ENV{\'SCRIPT_NAME\'} имеет нормальное значение, ее я теперь и использую.

Теперь другой вопрос...
Какие будут соображения по поводу $0 ?