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

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 862
Iscrizione: domenica 7 luglio 2013, 15:55
Desktop: GNU/Linux
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

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

Messaggio da TommyB1992 »

Come da titolo per un seed casuale, qual'è la migliore soluzione?
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

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

Messaggio 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.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 862
Iscrizione: domenica 7 luglio 2013, 15:55
Desktop: GNU/Linux
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

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

Messaggio 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.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

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

Messaggio da Zoff »

Io userei:

Codice: Seleziona tutto

bin2hex(openssl_random_pseudo_bytes(16));
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
TommyB1992
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 862
Iscrizione: domenica 7 luglio 2013, 15:55
Desktop: GNU/Linux
Distribuzione: Ubuntu 22.04.2 LTS
Sesso: Maschile

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

Messaggio da TommyB1992 »

Certamente, però mi interessava sapere la differenza fra l'utilizzo della funzione e non, visto che alcuni preferiscono il secondo caso.
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

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

Messaggio da Zoff »

Semplicemente perché ti astrae dalle operazioni elementari (open+read+close)

Esattamente come fa openssl_random_pseudo_bytes().
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti