Относно PERL CGI?

8 отговора 200 прегледа
#1

Относно PERL CGI?

Имам следното питане:

как точно работи функцията crypt?

Имам една доста подробна книга за перл, но там изобщо не фигурира подобна функция (а на гърба пише за напреднали и експерти) егати експертите, дето не пишат нищо по въпроса...
Синтаксиса е следния:

$scalar1 = crypt($scalar2, "MODULE");

До колкото разбирам- скалар две се кодира по модула и се записва в скалар едно... това е ясно...

А как мога да го декодирам- няма функция encrypt или нещо такова- тогава как става декодирането?

Още един въпрос: функцията unlink трие файлове- бе трябвало ако се даде масив със списък на файлове да ги изтрие всичките, но като го направих- изтрива само първия файл от списъка... дори опитах така:

foreach $file (@files) {
unlink = ($file);
}

Предварително Ви благодаря...
Баба...

Погледнато формално, всичко е нормално, погледнато нормално, всичко е формално...

Редактирано от БaбaИлиицa на 27.01.01 01:34.

Отговор
в отговор на БaбaИлиицa #2

Отг: Относно PERL CGI?

AAAA taq nqma da q byde...
Egati knigkata za naprednali imash...
Znachi drugoto za koeto se chudish e taka da se kage kliuch za kriptirane.
Samo che Nepriqtniqt moment e che Crypt izpolzwa systemnite metodi za kriptirane, a pri lipsa na takiwa ne znam.
No po princip crypt cryptira s MD5 ili tam kakwato mu e glupost, samo che ednoposochno..
Nqma razkriptirane.
t.e kriptirane sys zaguba na info.
Towa se izpolzwa naij chesto za storwane na paroli.
t.e. wzimash parolat, crypt'wash q i ako rezultata e ednakyw s weche zapazenata (kriptirana) parola minawash..
Wsichko e s cel ta dori i su da ne moge da ti widi parolata mnogo faicko nali?
taka se kriptira w linux unix wsichko X i Windows smo che tam se kriptira w DES ama parolite pak se kriptirat ednoposochno (e ne wsichkite de)...
Aide uspeh..

BTW: Za ko ti trebe crypt()?


JAVA lets make things badly!!
Отговор
в отговор на БaбaИлиицa #3

Отг: Относно PERL CGI?

Ne sym polzwal unlink, no pone w towa koeto shte ti pastna kazwa che trie list.
_______ORA book_________
Deletes a list of files. (Under Unix, it will remove a link to a file, but the file may still exist if another link references it.) If list is omitted, it unlinks the file given in $_. The function returns the number of files successfully deleted. Note that unlink will not delete directories unless you are the superuser and the -U flag is supplied to Perl. Even if these conditions are met, be warned that unlinking a directory can inflict serious damage on your filesystem. Use rmdir instead.

and examples
--------------------------
$cnt = unlink 'a', 'b', 'c';
unlink @goners;
unlink <*.bak>;
Derzai....



JAVA lets make things badly!!
Отговор
в отговор на БaбaИлиицa #4

Re: Относно PERL CGI?

не е ли по-правилно:

foreach $file(@files) {
unlink($file);
}

т.е. без знака за =

П.С.: между другото и аз съм имал проблеми с триенето на файлове...така че не се шашкай :)

Математиката се състои от очевидни неща подредени по подходящ начин
Отговор
в отговор на БaбaИлиицa #5

Re: Относно PERL CGI?

Zdrasti

Funktiata raboti po slednia nachin :

#!/usr/bin/perl
$key="text";
$salt="vi";
$crpt=crypt($key,$salt);
print "$crpt\n";

"key" ti e parolata koiato iskash da crytirash , t.n "salt " se sastoi ot dva znaka
ot seta : [a-zA-Z0-9./] . S pomosta na tosi string ot dva znaka $salt se praviat
njakavi kombinazii(ne znam tochno kak , sorry) no ste zabelejish , che parvite dva
znaka na cryptiranata ti parola savpadat imenno sas t.n. $salt ! Taka e vinagi .
I parolata ti e vinagi ot 13 znaka .
Dekriptirane kakto kaza veche edin kolega njama - Funktiata e ednoposochna .

Zasega ne se sestam drugo - ako ima nesto pishi .


Отговор
в отговор на БaбaИлиицa #6

Re: Относно PERL CGI?

Значи crypt ползва нещо от сорта на криптиране на "teksta za kriptirane" XOR "klyucha"

ta kato kriptirash s edin klyuch za wtori pyt stringa si se wryshta w pyrwonachalniq wid...

a za unlink... cikyla ti ne mi haresa /unlink = ($file);/, ama move pyk i towa da e ot nowowywedenite sinaktichni osobenosti... a move unlink s masiw da e samo za unix, zashtoto tam sistemnite funkcii mogat da priemat nqkolko fajla za parametyr, dokato w dos /Win/ se symnqwam da raboti del file1.txt file2.txt /ottam i funkciqta na int 21h/

Come crawling faster
Obey your Master
Your life burns faster
Obey your Master
Master
Отговор
в отговор на ViruS #7

Това е от Баба...

Аз всъщност съм Баба, нищо че съм с лога на USBug...

Книгата се казва "Perl Библиотека на програмиста" от издателство O`Relly (не е на български език), автори са: Т.Кристиансен Н.Торкингтон. Нивото на потребителя: Опитен/Експерт... Вътре има описано какви ли не глупости, включително всякакви клиентски програми за мейл, ftp и подобни, но функцията cript я няма!

Интересува ме обратното- декодирането, за да добавя функция изпращане на забравена парола по е-мейл. Май стана ясно, че функцията cript ми трябва за пароли... Използвам го в един скрипт за администриране на база данни с много потребители.

За "unlink" и "="- така беше синтаксиса в книгата, но трие само първият елемент от масива, както вече казах, няма значение дали е в цикъл (foreach) или не...

Благодаря на ViruS, ще пробвам с повторното криптване със същия ключ, макар че смятам, че щом казваш така, значи става!


Баба

задълбочаване- безсмислено ровене по резултатите на вече взето решение
Отговор
в отговор на ViruS #8

Molba kam ViruS

Poneje ti tvardish che kato criptirash dva pati i se poluchavalo parvonachalnia text
Bi li bil taka dobar da drasnesh njakolko reda , ta da vidime konkretno kak stava
tova - stoto az nesto nemoga da si polucha parvonachalnia string - kakto i da go
kriptiram i povtorno i sas sastia kljuch i izobsto , nesto ne se poluchava .

Blagodaria predvaritelno

Отговор
в отговор на crypt #9

Re: Molba kam ViruS

Прав си... казах глупост... аз всъщност съм ползвал функцията /примерно за паролите на юзерите в mp3.dir.bg/forum/... да функцията смята някъв вид чексума, а не криптира с XOR /което също не е лош вариант за невъзможност за разкодиране без pass/ и за проверка на паролата се използва двойно криптиране с един текст... ама веднъж се криптира съхранената парола /та и админа уж неможе да я декриптира/, а после се криптира паролата въвеждана всеки път от потребителя и разбира се се сравняват.

Ми пак да се извиня за изказаната глупост... да извинявам се

епа т'ва е

Come crawling faster
Obey your Master
Your life burns faster
Obey your Master
Master
Отговор