Pagina 1 di 1

PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: sabato 21 maggio 2016, 18:24
da TommyB1992
Come da titolo per un seed casuale, qual'è la migliore soluzione?

Re: PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: sabato 21 maggio 2016, 20:19
da Zoff
Cosa intendi tu per "seed casuale"? Per quale scopo?

fopen apre un file descriptor, mcrypt_create_vi crea un Initialization vector e tu chiedi di un seed.
Percepisco molta confusione.

Re: PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: sabato 21 maggio 2016, 20:56
da TommyB1992
Zoff [url=http://forum.ubuntu-it.org/viewtopic.php?p=4884235#p4884235][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Cosa intendi tu per "seed casuale"? Per quale scopo?

fopen apre un file descriptor, mcrypt_create_vi crea un Initialization vector e tu chiedi di un seed.
Percepisco molta confusione.

Codice: Seleziona tutto

$string = mcrypt_create_iv(32, MCRYPT_DEV_URANDOM);
or

Codice: Seleziona tutto

$fh = @fopen('/dev/urandom', 'rb');
$string .= fread($fh, max(4096, 32));
 fclose($fh);
Nel momento in cui devo generare una stringa casuale

Lo chiamo seed, perchè praticamente tutte le funzioni e le classi che ho letto vengono chiamate come "random_seed" o cose simili.

Re: PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: sabato 21 maggio 2016, 21:15
da Zoff
Io userei:

Codice: Seleziona tutto

bin2hex(openssl_random_pseudo_bytes(16));

Re: PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: sabato 21 maggio 2016, 21:32
da TommyB1992
Certamente, però mi interessava sapere la differenza fra l'utilizzo della funzione e non, visto che alcuni preferiscono il secondo caso.

Re: PHP fopen('/dev/urandom', 'rb') vs mcrypt_create_iv()

Inviato: domenica 22 maggio 2016, 0:22
da Zoff
Semplicemente perché ti astrae dalle operazioni elementari (open+read+close)

Esattamente come fa openssl_random_pseudo_bytes().