Ho frugato un po' in giro, l'md5 sembra una cazzata, ma non ho ancora trovato niente sul SHA512 dei file... idee/consigli? :master:
Ho frugato un po' in giro, l'md5 sembra una cazzata, ma non ho ancora trovato niente sul SHA512 dei file... idee/consigli? :master:
nn so neanche che cosa è... anzi te lo chiedo subito...
Che cosa è????
è più meglioOriginariamente inviato da M3kH
nn so neanche che cosa è... anzi te lo chiedo subito...
Che cosa è????![]()
![]()
scherzi a parte, è un algoritmo di hash, come md5![]()
http://en.wikipedia.org/wiki/SHA
ah si ora ricordo Md5... un sistema di codificazione per protezioni (Praticamente quello che usa phpnuke per le password) giusto???![]()
si, ma non è un sistema di 'codifica' ma di 'hashing'...dall'hashing non si può IN NESSUN MODO, tornare indietro (ovviamente se fai un bruteforce è un'altra cosa)
cmq
www.php.net/mhash
guarda li
cmq md5 va + che bene, sha1 è di certo + sicuro, ma, alla fin fine, dipende che ci devi fare, va + che bene![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
devo poter garantire con certezza quasi assoluta che il sistema non si sbaglieràOriginariamente inviato da daniele_dll
si, ma non è un sistema di 'codifica' ma di 'hashing'...dall'hashing non si può IN NESSUN MODO, tornare indietro (ovviamente se fai un bruteforce è un'altra cosa)
cmq
www.php.net/mhash
guarda li
cmq md5 va + che bene, sha1 è di certo + sicuro, ma, alla fin fine, dipende che ci devi fare, va + che bene![]()
![]()
ora, essendo che sono un po' paranoico e che a priori uno o due algoritmi a livello di risorse non è una differenza enorme, preferisco usare entrambi![]()
adesso guardo, grazie![]()
entrambi? :master: :master:
è perfettamente inutile...se proprio ti serve la sicurezza devi usare un SALT...qualcosa del tipo...
$md5 = md5($salt . md5($tuotesto));
questo è sicuro![]()
xche, tranne che non ti fanno il bruteforcing non riusciranno mai a trovare la giusta combinazione dei dati e comunque dovrebberò capire che usi un salt e riprovare il bruteforce![]()
basta inserire un SALT che sembri un testo MD5, ad es metti solo 8 caratteri che sembrano codice esadecimale e chi leggerà vedrà, quando azzecca, solo una combinazione di 20 codici esadecimali e quindi proverà un'altro algorittimo
ma prima deve eseguire il bruteforce di un testo di 40 caratteri...si contiene solo un set limitato di caratteri...ma è comunque ESTREMAMENTE immenso ^^
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand
sì, ho intenzione di memorizzare sia l'md5 che il sha512 (ho visto male o esiste solo per linux?Originariamente inviato da daniele_dll
entrambi? :master: :master:VVoVe: ), non si tratta di cifrare in modo irreversibile, ma di verificare se un dato file esiste già fra una quantità alquanto rilevante... ora, piuttosto di passare sempre tutti i file fra diversi computer mi sono detto che i due hash sarebbero sufficientemente sicuri
![]()
(se per sfiga/leggi di Murphy mi trovo due file con lo stesso md5 e il programma "decide" di eliminarne uno mi faccio uccidere)
non serve assolutamente a nullaOriginariamente inviato da dvds
sì, ho intenzione di memorizzare sia l'md5 che il sha512 (ho visto male o esiste solo per linux?VVoVe: ), non si tratta di cifrare in modo irreversibile, ma di verificare se un dato file esiste già fra una quantità alquanto rilevante... ora, piuttosto di passare sempre tutti i file fra diversi computer mi sono detto che i due hash sarebbero sufficientemente sicuri
![]()
(se per sfiga/leggi di Murphy mi trovo due file con lo stesso md5 e il programma "decide" di eliminarne uno mi faccio uccidere)
se fai lo sha di un md5 hai le stesse possibilità di averne uno uguale di quando fai lo sha del nome del file![]()
cmq...
while(!file_exists($tmpFileName = md5(uniqid(microtime(), true))) {}
se proprio vuoi essere certo al 100%...
ci aggiungi un timestamp all'inizio
while(!file_exists($tmpFileName = time() . '_' . md5(uniqid(microtime(), true))) {}
e cosi sei CERTO, al 100% , che non avrai MAI un doppione su disco
le probabilità che uno uppi nello stesso secondo sono veramente poche...e le probabilità che in quei up tu hai un codice hash uguale...sono proprio zero
uniqid genera un id unico partendo dal parametro che inserisci dentro e per farlo usa come seme il parametro...e lo genera tramite il generatore di numeri casuali che funziona usando un sistema entropico (ovvero di caos) ... in aggiunta a questa, il secondo parametro impostato su true dice a php di utilizzare un sistema + dispendioso ma + efficente...poi tu a questo acchioppi anche un timestamp iniziale...in pratica si...le possibilità che, nello stesso secondo, si ripeta il nome del file, sono dello 0.00000000000000001%
e sono SICURAMENTE inferiori a quelle fornite da uno sha su un md5
non ha importanza la lunghezza...ma + il contenuto
certo...se arriverai ad uppare un miliaio di milioni di miliardi di file allora li correrai il rischio, ma fino a quel momento sarai apposto
sicurezza si, essere paranoici no![]()
The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand