Войти

Показать полную графическую версию : выбор из цикла


slaine
23-08-2005, 00:46
$a = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
for ($i = 0; $i < 12; $i ++){
$emi = substr($a, rand(0, strlen($a)), 1);
echo $emi;
}

как $emi можно записать в файл или в БД в таком же виде в котором она
в цикле?

XCodeR
23-08-2005, 01:18
а что мешает записвать прямо в самом цикле? или создать промежуточную переменную и добавлять к ней emi, а потом записать в файл?
или я не так понял суть вопроса?

Vlad Drakula
23-08-2005, 01:33
slaine
$a = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';
$b = '';
for ($i = 0; $i < 12; $i ++){
$emi = substr($a, rand(0, strlen($a)), 1);
$b .= $emi;
echo $emi;
}
echo $b;

slaine
а вообще плохой способ генерить пароли... есть способы на много лучьше!

slaine
23-08-2005, 10:01
Xcode если я буду записавать БД прямо в цикле, то получится по одному символу на строчку!
А промежуточную переменую создать не догадался..

Vlad Drakula скажите почему плохой способ генерить пароли?(кстати это мне уже говорит второй человек, но от него я ответа так и не дождался)
А какой тогда есть лутчше способ, например?

Спасибо всем.

XCodeR
23-08-2005, 11:37
slaine

$i=7; // кол-во символов пароля
$upw=substr(md5(microtime(),0,$i);

$upw - вот вам уникальный пароль, вероятность совпадения стремится к нулю.

а Ваш метод генерации может выдать одиноковые пароли.

archy
24-08-2005, 12:29
Xcode
Генерить на основе только времени не есть хорошо, опять же где mixedcase?

XCodeR
24-08-2005, 12:51
archy
почему не есть хорошо?...
microtime() - если мне память не изменяет вернет значение в секундах с Unix Epoch(или как там в мануале напимано), томеж где то с 1970.
т.е. уникальное значение.
а MD5 - выдаст уникальный пароль.
для надежности можно обрезать уникальное количество символов, чтобы пароли получились разными по длине.
и будет все уникально...=)

archy
24-08-2005, 16:45
Xcode
Опять же ограниченное колво символов [0-9A-F] подбираются махом...

Prisoner
25-08-2005, 10:23
Угу, тут (http://gdataonline.com/) к примеру база хешей на десяток лямов. Приходи, смотри :)

XCodeR
25-08-2005, 11:26
хех... их ще оказывается не зарыли.... не хорошо...

Vlad Drakula
25-08-2005, 12:36
$upw = encodeB64(rand(100, 999), substr(md5(microtime()),0,3));




© OSzone.net 2001-2012